Mvvmcross MvxSpinner验证

时间:2017-09-01 17:19:27

标签: c# android validation xamarin mvvmcross

我正在尝试找到一种方法来验证用户是否从微调器中选择了适当的值。这是我的微调器代码:

<MvvmCross.Binding.Droid.Views.MvxSpinner
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/secondBP1"
        android:textSize="40dp"
        android:layout_marginLeft="6.5dp"
        android:layout_marginRight="6.5dp"
        local:MvxItemTemplate="@layout/item_shippingtocountry"
        local:MvxDropDownItemTemplate="item_spinnerdropdown"
        local:MvxBind="ItemsSource Country;SelectedItem SelectedCountry; Error Errors['SelectedPackageType']" />

我正在使用Mvvm Validation helper library。我有编辑文本验证为我的applilcation工作,但我不知道我应该如何验证我的微调器。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

  

找到一种方法来验证用户是否从微调器中选择了适当的值

尝试绑定HandleItemSelected属性。它尝试ICommand值。

<MvvmCross.Binding.Droid.Views.MvxSpinner
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:textSize="40dp"
  local:MvxItemTemplate="@layout/item_spinner"
  local:MvxDropDownItemTemplate="@layout/item_spinnerdropdown"
  local:MvxBind="ItemsSource Items;SelectedItem SelectedItem;HandleItemSelected MyCommand" 
  />

然后您的命令将类似于:

private MvxCommand<string> _subunitSelectedCommand;
public ICommand MyCommand =>
     _subunitSelectedCommand =
            (_subunitSelectedCommand ?? new MvxCommand<string>(OnSubunitSelected));

private void OnSubunitSelected(string name)
{
    //Do your validated logic
}