繁体   English   中英

仅设置一列单元格的样式DataGrid C#WPF

[英]Style Only One Column's Cells DataGrid C# WPF

我目前基于列的值设置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>

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

在此处输入图片说明

但是,我想用下面的一条线删除单元格中的样式;

在此处输入图片说明

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

您可以为DataGridTemplateColumns尝试CellStyle。 参考

像,在资源中添加以下样式“ 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}"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM