【问题标题】:Conditionally setting DataGrid RowStyle highlight background and text有条件地设置 DataGrid RowStyle 突出显示背景和文本
【发布时间】:2015-02-14 21:51:49
【问题描述】:

我有一个 DataGrid,我在其中突出显示基于绑定属性 QualityStatus 的行颜色/文本。它工作正常,但默认行突出显示会破坏行颜色。我意识到我可以将 HighlightBrushKey 设置为透明,因此颜色不会更改,但这不会影响“非活动”颜色,就像您选择了一行但随后聚焦另一个控件一样。另外,我也不确定如何设置选定的行字体颜色。

理想情况下,我只有标签,我可以为这 3 个条件中的每一个设置突出显示背景/文本颜色,但我不确定如何执行此操作。

<DataGrid.Resources>
    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" />
    <SolidColorBrush x:Key="{x:Static SystemColors.InactiveBorderBrushKey}" Color="Transparent" />
</DataGrid.Resources>
<DataGrid.RowStyle>
    <Style TargetType="DataGridRow">
        <Style.Triggers>
            <DataTrigger Binding="{Binding QualityStatus}" Value="Poor">
                <Setter Property="Background" Value="Red"/>
                <Setter Property="Foreground" Value="White"/>
                <Setter Property="FontWeight" Value="Bold"/>

            </DataTrigger>
            <DataTrigger Binding="{Binding QualityStatus}" Value="Fair">
                <Setter Property="Background" Value="Yellow"/>
                <Setter Property="Foreground" Value="Black"/>
                <Setter Property="FontWeight" Value="Bold"/>
            </DataTrigger>
            <DataTrigger Binding="{Binding QualityStatus}" Value="Good">
                <Setter Property="Background" Value="LightGreen"/>
                <Setter Property="Foreground" Value="Black"/>
                <Setter Property="FontWeight" Value="Normal"/>
            </DataTrigger>

        </Style.Triggers>
    </Style>
</DataGrid.RowStyle>

【问题讨论】:

  • 您使用的是 .Net 4.5 还是 4.0?

标签: c# wpf wpfdatagrid wpf-style


【解决方案1】:

这适用于 .Net 4.0:

<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />

这就是你改变文本颜色的方式:

<SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="White"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多