WPF,通过修改dataGrid的cell的style,改变选中行失去焦点时的颜色 4.0可用

Posted 马肯尼煤牙巴骨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF,通过修改dataGrid的cell的style,改变选中行失去焦点时的颜色 4.0可用相关的知识,希望对你有一定的参考价值。

        <Style  TargetType="{x:Type DataGridCell}">
            <Style.Triggers>
                <Trigger  Property="IsSelected" Value="true">
                    <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
                    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
                    <Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
                </Trigger>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="True" />
                        <Condition Binding="{Binding IsKeyboardFocusWithin, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}, Mode=FindAncestor}}" Value="False" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
                    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
                    <Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
                </MultiDataTrigger>
            </Style.Triggers>
        </Style>

 

以上是关于WPF,通过修改dataGrid的cell的style,改变选中行失去焦点时的颜色 4.0可用的主要内容,如果未能解决你的问题,请参考以下文章

当 SelectionMode 设置为 Cell 时,如何突出显示 WPF DataGrid 中的一行

怎么知道用户选择的wpf的datagrid的哪一列

WPF怎么让datagrid的某个cell下的模板控比如textBox,获取焦点?要光标一闪一闪的效果,便于用户输入

c# wpf datagrid 模板列修改某个单元格,更新所选行另一个单元格的值,如何做到呢?

wpf datagrid 单元格如何默认单击一次点中

WPF的DataGrid列头和行头相交的单元格怎么修改样式和填充文字