我使用以下代码来使用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>
在视图模型中,创建了类型为IsValueChecked的应通知属性“Nullable<bool>
”。问题是,事件“选中”和“未选中”不会在单击复选框时触发。我错过了什么,请给我建议。
发布于 2016-09-03 09:48:09
扩展到Funk上面的注释,您似乎试图绑定到DataContext级别的DataGrid,但是您的绑定实际上将尝试绑定到DataGrid本身的属性。由于DataGrid没有CheckCommand属性,这将失败。
尝试将绑定路径更改为:
{Binding Path=DataContext.CheckCommand, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}
https://stackoverflow.com/questions/39304009
复制相似问题