【问题标题】:Style Only One Column's Cells DataGrid C# WPF样式只有一列的单元格 DataGrid C# WPF
【发布时间】:2016-04-28 19:45:18
【问题描述】:

我目前根据列的值设置DataGridRow 的样式。样式是这样的;

<DataGrid.RowStyle>
    <Style TargetType="DataGridRow">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Overdue}" Value="1">
                <Setter Property="FontWeight" Value="Bold"/>
            </DataTrigger>
            <DataTrigger Binding="{Binding Priority}" Value="High">
                <Setter Property="Background" Value="Red"/>
            </DataTrigger>
            <DataTrigger Binding="{Binding Priority}" Value="Medium">
                <Setter Property="Background" Value="Orange"/>
            </DataTrigger>
            <DataTrigger Binding="{Binding Priority}" Value="Low">
                <Setter Property="Background" Value="LightGreen"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</DataGrid.RowStyle>

这会根据列的值将样式应用于整行。但是,现在我只想将样式应用于该单元格中的列。这是当前样式的样子;

但是我想通过下面的线删除单元格中的样式;

即仅将格式应用于优先列的单元格而不是整行。

【问题讨论】:

    标签: c# wpf xaml datagrid


    【解决方案1】:

    您可以为 DataGridTemplateColumns 尝试 CellStyle。 Ref.

    喜欢, 在资源中添加如下样式“DGCellStyle”。

        <Style x:Key="DGCellStyle" TargetType="DataGridCell">
                <Style.Triggers>
                <DataTrigger Binding="{Binding Overdue}" Value="1">
                    <Setter Property="FontWeight" Value="Bold"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding Priority}" Value="High">
                    <Setter Property="Background" Value="Red"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding Priority}" Value="Medium">
                    <Setter Property="Background" Value="Orange"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding Priority}" Value="Low">
                    <Setter Property="Background" Value="LightGreen"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    

    然后,在 DataGridTemplateColumn 中引用此样式。

    <DataGridTemplateColumn Header="ColumnHeader" Width="SizeToHeader" CellStyle="{StaticResource DGCellStyle}"/>
    

    【讨论】:

      猜你喜欢
      • 2011-05-12
      • 1970-01-01
      • 2011-01-30
      • 2011-01-27
      • 2020-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多