我想從checkbox單選CheckBox CheckedChange到一個命令,但我得到一個錯誤。MvvmCross vnext:CheckBox CheckedChange事件到一個命令與monodroid
我想在選中某個特定的項目時取消選擇另一個項目。
我認爲可以用wp7中的EventTrigger來實現,但Android的MvvmCross似乎不支持這個功能。
MvvmCross是否僅限於按鈕?
在此先感謝您的幫助。
我想從checkbox單選CheckBox CheckedChange到一個命令,但我得到一個錯誤。MvvmCross vnext:CheckBox CheckedChange事件到一個命令與monodroid
我想在選中某個特定的項目時取消選擇另一個項目。
我認爲可以用wp7中的EventTrigger來實現,但Android的MvvmCross似乎不支持這個功能。
MvvmCross是否僅限於按鈕?
在此先感謝您的幫助。
CheckedChanged
是EventHandler<CompoundButton.CheckedChangeEventArgs>
因此它不是MvvmCross自動知道的代表類型之一。
然而,有一個自定義的地方,這個綁定...
而這個自定義綁定應該用註冊:
registry.RegisterFactory(new MvxSimplePropertyInfoTargetBindingFactory(typeof(MvxCompoundButtonCheckedTargetBinding), typeof(CompoundButton), "Checked"));
所以,如果你有一個視圖模型與屬性IsSpecial
private bool _isSpecial;
public bool IsSpecial
{
get { return _isSpecial; }
set
{
_isSpecial = value;
RaisePropertyChanged(() => IsSpecial);
// your custom code here
}
}
那麼這種結合應該工作:
'Checked':{'Path':'IsSpecial'}
,並應適用於任何CompoundButton - 複選框,交換機,或您自己的化合物..
我想使用ICommand而不是此屬性.Nevermind,我改變了我的ViewModel來解決這個問題。 – Alphapage
如果您願意,您可以編寫自定義綁定...或者,您可以將點擊綁定到某種切換命令? – Stuart
而不是CheckedChange事件,我使用Click事件,它適用於我的命令。我更喜歡這種設計,而不是使用屬性綁定來玩,或者現在寫一個新的自定義綁定。非常感謝。 – Alphapage