MVVMCross MvxBind,将多个值绑定到一个属性

Ger*_*Bos 3 c# android valueconverter mvvmcross mvxbind

如何使用布尔值的组合,enabledMvxBind按钮上设置属性?

例如:

使用一个布尔值,绑定通过以下方式实现:

<Button
      android:text="Next"
      local:MvxBind="Enabled IHaveDoneEverything"/>
Run Code Online (Sandbox Code Playgroud)

但是如何使用多个布尔值实现它呢?

我试过的东西不起作用:

  • 在axml中使用OR语句. local:MvxBind="Enabled (IHaveDoneThis | IHaveDoneThat)"
  • 在我的ViewModel中使用额外的属性.这不起作用,因为该属性未被"设置",因此未在视图中更新.

    public bool IHaveDoneAtleastSomething 
    { 
        get { return (IHaveDoneThis | IHaveDoneThat); } 
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用自定义valueconverter.

    local:MvxBind="Enabled [IHaveDoneThis , IHaveDoneThat], Converter=MultipleBooleansToOneBooleanUsingORValueConverter"/>
    Run Code Online (Sandbox Code Playgroud)

Ger*_*Bos 5

使用|| 而不是| 实际上解决了这个问题

local:MvxBind="Enabled (IHaveDoneThis || IHaveDoneThat)"
Run Code Online (Sandbox Code Playgroud)