我正在尝试将 CheckedChange 从 monodroid CheckBox 绑定到命令,但出现错误。
我想在选中某个特定项目时取消选择另一个项目。
我认为可以在 wp7 中使用 EventTrigger 来做到这一点,但用于 android 的 MvvmCross 似乎不支持此功能。
MvvmCross 是否仅限于 Button ?
在此先感谢您的帮助。
我正在尝试将 CheckedChange 从 monodroid CheckBox 绑定到命令,但出现错误。
我想在选中某个特定项目时取消选择另一个项目。
我认为可以在 wp7 中使用 EventTrigger 来做到这一点,但用于 android 的 MvvmCross 似乎不支持此功能。
MvvmCross 是否仅限于 Button ?
在此先感谢您的帮助。
CheckedChanged
是一个EventHandler<CompoundButton.CheckedChangeEventArgs>
所以它不是 MvvmCross 自动知道的委托类型之一。
但是,为此有一个自定义绑定......
并且应该使用以下方法注册此自定义绑定:
registry.RegisterFactory(new MvxSimplePropertyInfoTargetBindingFactory(typeof(MvxCompoundButtonCheckedTargetBinding), typeof(CompoundButton), "Checked"));
因此,如果您有一个带有属性的 ViewModelIsSpecial
private bool _isSpecial;
public bool IsSpecial
{
get { return _isSpecial; }
set
{
_isSpecial = value;
RaisePropertyChanged(() => IsSpecial);
// your custom code here
}
}
那么这个绑定应该可以工作:
'Checked':{'Path':'IsSpecial'}
这应该适用于任何 CompoundButton - CheckBox、Switch 或您自己的化合物......