上次修改了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>