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