MvvmCross:从android中的MvxListView获取所选项目的最佳方法是什么?

时间:2013-05-22 17:37:33

标签: mvvm xamarin.android xamarin mvvmcross

我正在使用MvvmCross v3.06,我在android中定义了一个绑定到列表的MvxListView。我可以看到列表,但无法确定获取单击时所选项目的最佳方法。

目前我在活动的OnCreate中执行以下操作,但它不是特别的MVVM,我想知道是否有更好的方法通过绑定?

var list = FindViewById<MvxListView>(Resource.Id.subslist);
list.ItemClick = ((MyViewModel)ViewModel).ItemSelectedCommand;

我找不到关于最佳方法的任何文档,所以任何帮助都会很棒。

1 个答案:

答案 0 :(得分:13)

对于android,最常见的技术是将ItemClick绑定到MvxCommand<TItem> - 所以使用:

 local:MvxBind="ItemClick ItemSelectedCommand"

您可以在以下示例中看到这一点,包括:


不太常见(目前为止),对于Android,您还可以绑定到SelectedItem上的自定义绑定MvxListView

此技术显示在MoreControls中的SpinnerMvxSpinner) - https://github.com/slodge/MvvmCross-Tutorials/blob/master/MoreControls/MoreControls.Droid/Resources/Layout/FirstView.axml(此示例在N = 18视频期间实时构建 - 请参阅http://youtu.be/s1LhXdCTsn4?t=7m26s