MvvmCross Android - 按钮命令的RelativeSource绑定的替代方案

时间:2013-01-08 04:26:00

标签: android binding xamarin.android mvvmcross

我有一个绑定到带有MvxItemTemplate的MvxBindableListView的项目列表。 我的列表中通常有4个项目绑定到我的视图。数据会更新,视图会显示新数据enter image description here

现在,我想为此项目模板添加两个按钮。但是,MvvmCross不提供相对源绑定。 (见图)

但是我在解决这个问题上遇到了困难。

我已经尝试了列表项的ItemClick绑定,但这只给了我一次点击的可能性,我需要2。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

请参阅MVVMCross changing ViewModel within a MvxBindableListView中答案中的第二个选项 - 这包含了一种方法。

使用该方法,您将公开一个对象列表,如:

public class Wrapped
{
    public ICommand GoThruCommand { get; set; }
    public ICommand OpenCommand { get; set; }
    public string Name { get; set; }
}

并且您将使用带有绑定控件的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