首先,免责声明:
如果您正在阅读本文是因为您想同时使用IsChecked绑定和RelayCommand来更改内容,那么您可能是在错误的道路上。你应该使用
IsChecked
绑定的Set()
调用。
问题:
我有一个ToggleButton,在其中既有IsChecked
的绑定,也有Command
的绑定:
<ToggleButton IsChecked="{Binding BooleanBackedProperty}"
Command="{Binding SomeCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"
CommandParameter="{Binding}" />
是的 - 我知道,这是不好的。
当用户单击Toggle按钮时,这两个哪一个会先触发?Command会被执行,还是IsChecked绑定会更新绑定的属性?或者 - 这实际上类似于社交媒体上的帖子,在其中创建了一种竞争条件?