我正在使用MvvmCross v3.06,我在android中定义了一个绑定到列表的MvxListView。我可以看到列表,但无法确定获取单击时所选项目的最佳方法。
目前我在活动的OnCreate中执行以下操作,但它不是特别的MVVM,我想知道是否有更好的方法通过绑定?
var list = FindViewById<MvxListView>(Resource.Id.subslist);
list.ItemClick = ((MyViewModel)ViewModel).ItemSelectedCommand;
我找不到关于最佳方法的任何文档,所以任何帮助都会很棒。
答案 0 :(得分:13)
对于android,最常见的技术是将ItemClick
绑定到MvxCommand<TItem>
- 所以使用:
local:MvxBind="ItemClick ItemSelectedCommand"
您可以在以下示例中看到这一点,包括:
不太常见(目前为止),对于Android,您还可以绑定到SelectedItem
上的自定义绑定MvxListView
此技术显示在MoreControls中的Spinner
(MvxSpinner
) - https://github.com/slodge/MvvmCross-Tutorials/blob/master/MoreControls/MoreControls.Droid/Resources/Layout/FirstView.axml(此示例在N = 18视频期间实时构建 - 请参阅http://youtu.be/s1LhXdCTsn4?t=7m26s