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

时间:2023-03-09 13:06:10
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>