【发布时间】:2016-09-03 18:21:48
【问题描述】:
我正在使用以下代码使用 MVVM 实现三态复选框:
<CheckBox IsChecked="{Binding
Path=IsValueChecked,
Mode=TwoWay,
UpdateSourceTrigger=Explicit}"
Margin="3,10,0,0"
IsThreeState="True">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<i:InvokeCommandAction Command="{Binding Path=CheckCommand,
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked">
<i:InvokeCommandAction Command="{Binding Path=CheckCommand,
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</CheckBox>
在视图模型中,创建了一个类型为Nullable<bool> 的可通知属性“IsValueChecked”。问题是单击复选框时不会触发事件“已选中”和“未选中”。
我错过了什么,请提出建议。
【问题讨论】:
-
很可能您的命令绑定无法解析。
-
在绑定不起作用后查看输出窗口总是一个好主意。
标签: wpf checkbox mvvm threestate