WPF - 在具有自定义复选框样式的 DataGrid 中 IsReadOnly 不起作用

The*_*Dog 5 wpf checkbox datagrid

我目前有一个在 DataGrid 中使用的自定义复选框样式。但是,当我在 DataGridCheckBoxColumn 中指定 IsReadOnly="true" 属性时,这不再起作用(我仍然可以单击并更改复选框的值)。我还使用Expression Blend提取了原始WPF样式的副本,这个也有同样的问题。只有原始的 CheckBox 样式似乎有效,这是我不想要的。

我目前设法通过基于正常样式创建一种新样式来解决此问题,并将 IsHitTestVisible 和 Focusable 属性设置为 false,但我希望 DataGridCheckBoxColumn 中的 IsReadOnly 属性无需此解决方法即可工作。

我怎样才能达到这个结果?

stu*_*bax 0

可能是你的情况:尝试在这个xaml样式中设置某处:

IsReadOnly="{TemplateBinding}"
Run Code Online (Sandbox Code Playgroud)

或者

IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}"
Run Code Online (Sandbox Code Playgroud)

希望这有帮助。