如何改变DataGridCheckBoxColumn复选框复选标记的颜色

本文关键字:颜色 复选框 DataGridCheckBoxColumn 何改变 改变 | 更新日期: 2023-09-27 18:17:07

我有一个DataGridCheckBoxColumn在我的DataGrid和它的foreColor和BackColor是黑色默认在Windows8。而在Windows7中则可以。

如何改变复选标记的前颜色,我都快疯了。

请帮…

如何改变DataGridCheckBoxColumn复选框复选标记的颜色

这是完整的WPF复选框本地模板。

你要找的是"路径"中的"GlyphColor"。

                <Path Visibility="Collapsed"
                  Width="7"
                  Height="7"
                  x:Name="CheckMark"
                  SnapsToDevicePixels="False"
                  StrokeThickness="2"
                  Data="M 0 0 L 7 7 M 0 7 L 7 0">
              <Path.Stroke>
                <SolidColorBrush Color="{DynamicResource GlyphColor}" />
              </Path.Stroke>
            </Path>
            <Path Visibility="Collapsed"
                  Width="7"
                  Height="7"
                  x:Name="InderminateMark"
                  SnapsToDevicePixels="False"
                  StrokeThickness="2"
                  Data="M 0 7 L 7 0">
              <Path.Stroke>
                <SolidColorBrush Color="{DynamicResource GlyphColor}" />
              </Path.Stroke>
            </Path>

从这里你至少有两个解决方案:

1)"GlyphColor"被绑定为动态资源,这意味着您可以更改它,它将立即反映复选框中标记的颜色变化。但是,要小心,这个资源可能被用于其他控件,所以它也会改变它们的颜色。

2)蛮力解决方案将完全覆盖CheckBox样式的复制/粘贴到您的项目中,只修改上述属性,并替换为您想要的颜色/资源。