android - MvvmCross Android - 按钮命令的relativesource绑定(bind)的替代方案

标签 android binding xamarin.android mvvmcross

我有一个使用 MvxItemTemplate 绑定(bind)到 MvxBindableListView 的项目列表。 我的列表中通常有 4 个项目绑定(bind)到我的 View 。数据得到更新, View 显示新数据就好了 enter image description here .

现在,我想向该项目模板添加两个按钮。但是,相对源绑定(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/

相关文章:

java - 在条件sqlite数据库中使用OR语句

java - 如何使用 StickerView 撤消和重做功能?

wpf - 首次加载时的验证绑定(bind)

android - 如何防止软键盘只上推工具栏?

java - 使用 `when` 应该返回不同的值

c# - 数据模板绑定(bind)垃圾邮件输出窗口出现错误 : Cannot find governing FrameworkElemen

binding - 在不传递变量名的情况下在函数内重新分配全局变量

android - RadioButton 在带有浅色主题的 Android 10/11 上不可见

c# - Xamarin 形成包含适用于 Android 和 iOS 的图像的共享项目

android-emulator - 如何将虚拟设备/模拟器附加到 Visual Studio Xamarin Android 项目?