monodroid CheckBox から CheckedChange をコマンドにバインドしようとしていますが、エラーが発生します。
特定のアイテムがチェックされているときに、別のアイテムの選択を解除したい。
wp7ではEventTriggerでできると思いますが、MvvmCross for androidはこの機能に対応していないようです。
MvvmCross はボタンのみに限定されていますか?
よろしくお願いします。
monodroid CheckBox から CheckedChange をコマンドにバインドしようとしていますが、エラーが発生します。
特定のアイテムがチェックされているときに、別のアイテムの選択を解除したい。
wp7ではEventTriggerでできると思いますが、MvvmCross for androidはこの機能に対応していないようです。
MvvmCross はボタンのみに限定されていますか?
よろしくお願いします。
CheckedChanged
であるEventHandler<CompoundButton.CheckedChangeEventArgs>
ため、MvvmCross が自動的に認識するデリゲート型の 1 つではありません。
ただし、これにはカスタムバインディングが用意されています...
このカスタム バインディングは、次を使用して登録する必要があります。
registry.RegisterFactory(new MvxSimplePropertyInfoTargetBindingFactory(typeof(MvxCompoundButtonCheckedTargetBinding), typeof(CompoundButton), "Checked"));
https://github.com/slodge/MvvmCross/blob/vnext/Cirrious/Cirrious.MvvmCross.Binding.Droid/MvxAndroidBindingBuilder.csで
したがって、プロパティを持つViewModelがある場合IsSpecial
private bool _isSpecial;
public bool IsSpecial
{
get { return _isSpecial; }
set
{
_isSpecial = value;
RaisePropertyChanged(() => IsSpecial);
// your custom code here
}
}
次に、このバインディングが機能するはずです。
'Checked':{'Path':'IsSpecial'}
これは、チェックボックス、スイッチ、または独自のコンパウンドなど、どのコンパウンド ボタンでも機能するはずです...