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