[英]C# WPF Add Style Object To Cells In Datagrid Using Trigger
[英]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.