簡體   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