作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用以下代码使用 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”被 build 。问题是单击复选框时不会触发事件“已选中”和“未选中”。
最佳答案
扩展上面 Funk 的评论,看起来您正在尝试绑定(bind)到 DataGrid 级别的 DataContext,但您的绑定(bind)实际上是要尝试绑定(bind)到 DataGrid 本身的属性。鉴于 DataGrid 没有 CheckCommand 属性,这将失败。
尝试将绑定(bind)路径更改为:{Binding Path=DataContext.CheckCommand, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}
关于wpf - 触发器 "Checked/Unchecked"未在三态复选框中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39304009/
我是一名优秀的程序员,十分优秀!