如何使用布爾值組合來設置MvxBind
按鈕上的enabled
屬性?MVVMCross MvxBind,將多個值綁定到一個屬性
例如:
使用一個布爾值,則與實現綁定:
<Button
android:text="Next"
local:MvxBind="Enabled IHaveDoneEverything"/>
但我怎麼實現這個使用多個布爾值?
事情我已經試過了沒有工作:
- 在axml使用OR語句。
local:MvxBind="Enabled (IHaveDoneThis | IHaveDoneThat)"
在我的ViewModel中使用額外的屬性。這不起作用,因爲該屬性未被設置,因此在視圖中未被更新。
public bool IHaveDoneAtleastSomething { get { return (IHaveDoneThis | IHaveDoneThat); } }
使用自定義值轉換器。
local:MvxBind="Enabled [IHaveDoneThis , IHaveDoneThat], Converter=MultipleBooleansToOneBooleanUsingORValueConverter"/>
您是否嘗試過的邏輯,而不是按位OR?在https://github.com/MvvmCross中查看http://stackoverflow.com/questions/3154132/what-is-the-difference-between-logical-and-conditional-and-or-in-c和解析器中的答案/MvvmCross/blob/v3.1/Cirrious/Cirrious.MvvmCross.Binding/Parse/Binding/Tibet/MvxTibetBindingParser.cs#L120 - 另外,我認爲你應該可以使用'或(Expr1,Expr2)' – Stuart