我使用了这个问题的答案(MvvmCross : dynamic item template selection for MvxListView)并成功创建了一个多布局的MvxListView。但是现在我无法弄清楚如何将不同的ItemClick命令提供给不同的布局。当我在axml中创建MvxListView时,我在local:MvxBind属性中给出了ItemClick命令,但在特殊情况下覆盖该行为是我需要的。有没有人有任何建议?
答案 0 :(得分:1)
找到了解决方案。
创建自定义MvxListView并重写ExecuteCommandOnItem解决了我的问题。我还在我的自定义MvxListView中添加了一个名为Parent的属性,我在我的活动中设置了该属性。这样我就可以调用父函数。
这样的事情:
public class EditMvxListView : MvxListView
{
public EditStationsView Parent {
get;
set;
}
public EditMvxListView (Context context,IAttributeSet attrs) : base(context,attrs)
{
}
protected override void ExecuteCommandOnItem (System.Windows.Input.ICommand command, int position)
{
var item = Adapter.GetRawItem (position) as Station;
if (item.Name == "New Station") {
Parent.ShowSearch ();
return;
}
base.ExecuteCommandOnItem (command, position);
}
}