DEV GridControl.TableView FocusedRow选中行背景颜色

上次修改了TableView.RowStyle,导致了一个问题:覆盖了GridControl默认的选中行颜色。

于是需要重写选中行的颜色。

刚开始的想法是:

<dxg:TableView>
    <dxg:TableView.RowStyle>
        <Style TargetType="{x:Type dxg:GridRowContent}">
            <Style.Triggers>
                <Trigger Property="IsFocused" Value="True">
                    <Setter Property="Background" Value="Gray" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </dxg:TableView.RowStyle>
</dxg:TableView>

发现实现不了……后来去DEV官网求助,原来思路是对的,但是Property不正确,不是IsFocused,而是dxg:GridViewBase.IsFocusedRow.

<dxg:TableView>
    <dxg:TableView.RowStyle>
        <Style TargetType="{x:Type dxg:GridRowContent}">
            <Style.Triggers>
                <Trigger Property="dxg:GridViewBase.IsFocusedRow" Value="True">
                    <Setter Property="Background" Value="Gray" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </dxg:TableView.RowStyle>
</dxg:TableView>

这是低于14.1版本用的,14.1及以后的版本,使用以下:

<dxg:TableView>
    <dxg:TableView.RowStyle>
        <Style TargetType="{x:Type dxg:RowControl}">
            <Style.Triggers>
                <Trigger Property="dxg:GridViewBase.IsFocusedRow" Value="True">
                    <Setter Property="Background" Value="Gray" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </dxg:TableView.RowStyle>
</dxg:TableView>
原文地址:https://www.cnblogs.com/YunGy/p/4951947.html