【发布时间】:2015-07-23 18:54:24
【问题描述】:
所以我有一个切换按钮如下:
<ToggleButton
IsChecked="{Binding IsButtonChecked, Mode=OneWay}"
Command="{Binding DoNothing}"
CommandParameter="{Binding ServerViewModel}"
Content="Click Me!"></ToggleButton>
IsButtonChecked = false
的初始值当我单击切换按钮时,ICommand 会正确触发(绑定到 RelayCommand)并且此命令为 CanExecute 返回 false。 WPF ToggleButton 的状态现在为 Checked=true,但支持的模型仍为 IsButtonChecked = false。为什么 UI 更新为选中状态,而绑定的属性没有?
旁注
我能够阻止 UI 更新的唯一方法是创建一个反向属性 IsButtonNotChecked。然后我将该属性绑定到 XAML 中的 IsEnabled。如果状态当前已启用,这将防止发生按钮点击。
【问题讨论】:
-
这个控件的用例是什么?从您提供的内容看来,您正在启动/停止服务器。我还有一些想法,但我不想再提供一个不正确的想法。
标签: wpf wpf-controls