从微调检测用户选择在mvvmcross [英] Detect user selection from Spinner in mvvmcross

查看:186
本文介绍了从微调检测用户选择在mvvmcross的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在下面的代码,我能够显示在微调的所属分类项目。



我的问题,我怎么可能能够检测选择哪一个?



ViewModel.cs

 公开名单< INT>所属分类
{
{返回新的List< INT> {1,2,3,4,5,6,7,8,9,10}; }
}

INT _chosenCategory;
公众诠释ChosenCategory {
{返回_chosenCategory; }
集合{的SetProperty(REF _chosenCategory,价值);
}
}



ViewModel.axml

 <的LinearLayout 
机器人:layout_weight =1
的android:layout_width =0dp
机器人:layout_height =match_parent>
< mvvmcross.droid.support.v7.appcompat.widget.MvxAppCompatSpinner
的android:layout_width =100dp
机器人:layout_height =match_parent
地方:MvxItemTemplate = @布局/ XXX
地方:MvxBind =ItemsSource的所属分类;的SelectedItem ChosenCategory/>
< / LinearLayout中>


解决方案

您可以通过绑定的SelectedItem



<预类=郎咸平的XML prettyprint-覆盖> < mvvmcross.droid.support.v7.appcompat .widget.MvxAppCompatSpinner
的android:layout_width =100dp
机器人:layout_height =match_parent
地方:MvxItemTemplate =@布局/ category_spinner
地方:MvxBind =的ItemsSource所属分类;的SelectedItem ChosenCategory/>



,并确保你有这个在您在安装类:



<预类=郎-CS prettyprint-覆盖> 公共类设置:MvxAndroidSetup
{
// ...

保护覆盖无效FillTargetFactories(IMvxTargetBindingFactoryRegistry注册表)
{
MvxAppCompatSetupHelper.FillTargetFactories(注册表);
base.FillTargetFactories(注册表);
}
}


In the following code, I could able to display the CategoryList items in the spinner.

My question, how could I able to detect which one is chosen?

ViewModel.cs

public List<int> CategoryList
{
  get { return new List<int> { 1,2,3,4,5,6,7,8,9,10 }; }
}

int _chosenCategory; 
public int ChosenCategory { 
   get { return _chosenCategory; } 
   set { SetProperty(ref _chosenCategory, value); 
  } 
}

ViewModel.axml

<LinearLayout
  android:layout_weight="1"
  android:layout_width="0dp"
  android:layout_height="match_parent">
    <mvvmcross.droid.support.v7.appcompat.widget.MvxAppCompatSpinner
         android:layout_width="100dp"
         android:layout_height="match_parent"
         local:MvxItemTemplate="@layout/xxx"
         local:MvxBind="ItemsSource CategoryList;SelectedItem ChosenCategory" />
</LinearLayout>

解决方案

You can bind it via SelectedItem

<mvvmcross.droid.support.v7.appcompat.widget.MvxAppCompatSpinner
     android:layout_width="100dp"
     android:layout_height="match_parent"
     local:MvxItemTemplate="@layout/category_spinner"
     local:MvxBind="ItemsSource CategoryList; SelectedItem ChosenCategory" />

And ensure that you have this in you Setup class:

public class Setup : MvxAndroidSetup
{
    // ...

    protected override void FillTargetFactories(IMvxTargetBindingFactoryRegistry registry)
    {
        MvxAppCompatSetupHelper.FillTargetFactories(registry);
        base.FillTargetFactories(registry);
    }
}

这篇关于从微调检测用户选择在mvvmcross的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆