我有一个使用 MvxItemTemplate 绑定(bind)到 MvxBindableListView 的项目列表。 我的列表中通常有 4 个项目绑定(bind)到我的 View 。数据得到更新, View 显示新数据就好了 .
现在,我想向该项目模板添加两个按钮。但是,相对源绑定(bind)不适用于 MvvmCross。 (见图)
但我很难找到解决方案。
我尝试过列表项的 ItemClick 绑定(bind),但这只给了我 1 次点击的可能性,而我需要 2 次。
有人可以帮忙吗?
最佳答案
请参阅MVVMCross changing ViewModel within a MvxBindableListView中答案中的第二个选项- 这涵盖了执行此操作的一种方法。
使用这种方法,您将公开一个对象列表,例如:
public class Wrapped
{
public ICommand GoThruCommand { get; set; }
public ICommand OpenCommand { get; set; }
public string Name { get; set; }
}
并且您可以使用带有绑定(bind)控件的 axml 列表模板,例如:
<TextView
...
local:MvxBind="{'Text':{'Path':'Name'}}" />
<Button
...
local:MvxBind="{'Click':{'Path':'GoCommand'}}" />
<Button
...
local:MvxBind="{'Click':{'Path':'ThruCommand'}}" />
如果您对 mvx 中的相关源代码有建议/请求,请将其添加到 https://github.com/slodge/MvvmCross/issues/35
关于android - MvvmCross Android - 按钮命令的relativesource绑定(bind)的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14208203/