点击获取工具 >>
DevExpress WPF 领有 120+ 个控件和库,将帮忙您交付满足甚至超出企业需要的高性能业务应用程序。通过 DevExpress WPF 能创立有着弱小互动性能的 XAML 根底应用程序,这些应用程序专一于当代客户的需要和构建将来新一代反对触摸的解决方案。
问题
曾经在 GridControl 中更改了选定的行背景、前景和 fontweight,成果很好。然而当 GridControl 失去焦点时,选定的行款式也会更改,如何避免或者笼罩?
XAML
`<dxg:GridControl.View>
<dxg:TableView x:Name=”productionElementsView” UseLightweightTemplates=”None” MultiSelectMode=”Row” Navigation ShowGroupPanel=”True” FilterEditorCreated=”TableView_FilterEditorCreated” PreviewMouseLeftButtonDown=”productionElementsView_PreviewMouseLeftButtonDown” >
<dxg:TableView.RowStyle>
<Style TargetType=”{x:Type dxg:GridRowContent}” BasedOn=”{StaticResource {dxgt:GridRowThemeKey ResourceKey=RowStyle, IsThemeIndependent=True}}”>
<Setter Property=”Background” Value=”{Binding Path=Row, Converter={StaticResource ResourceKey=ItemTypeBackgroundColor}}” />
<Setter Property=”Foreground” Value=”{Binding Path=Row, Converter={StaticResource ResourceKey=ItemTypeForegroundColor}}” />
<Setter Property=”FontWeight” Value=”Regular” />
<Style.Triggers>
<Trigger Property=”dxg:DataViewBase.IsFocusedRow” Value=”True”>
<Setter Property=”Background” Value=”#FFFFDC00″ />
<Setter Property=”Foreground” Value=”Black” />
<Setter Property=”FontWeight” Value=”SemiBold” />
</Trigger>
<DataTrigger Binding=”{Binding IsSelected}” Value=”True”>
<Setter Property=”Background” Value=”#FFFFDC00″ />
<Setter Property=”Foreground” Value=”Black” />
<Setter Property=”FontWeight” Value=”SemiBold” />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:TableView.RowStyle>
</dxg:TableView>
</dxg:GridControl.View>`
解决方案
您能够将 TableView 的 FadeSelectionOnLostFocus 设置为 false,以对焦点 / 选定行应用雷同的色彩。
要为这种状况定义色彩,能够应用 TableView 的 RowStyle 属性并为 RowControl 的 FadeSelection 属性创立触发器:
XAML
`<dxg:TableView.RowStyle>
<Style TargetType=”dxg:RowControl”>
<Style.Triggers>
<Trigger Property=”FadeSelection” Value=”True”>
<Setter Property=”Background” Value=”Red”/>
</Trigger>
</Style.Triggers>
</Style>
</dxg:TableView.RowStyle>`