我目前正在開發一個小型 c# wpf 專案。我以編程方式填充我的資料網格,我想在不影響整個行的情況下更改樣式中的一個單元格顏色。我在更改 DataGrid Rowstyle 后執行此操作。
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Gebucht}" Value="True">
<Setter Property="Background" Value="Green"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=dringendeBuchung}" Value="True">
<Setter Property="Background" Value="Yellow"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Dringend}" Value="True">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
行樣式作業正常,但如果例如“Gebucht”為真并且 Dringend 也為真,我想將整行顯示為綠色,但具有 Dringend 布林值的單元格除外。
謝謝您的幫助
uj5u.com熱心網友回復:
行樣式作業正常,但如果例如“Gebucht”為真并且 Dringend 也為真,我想將整行顯示為綠色,但具有 Dringend 布林值的單元格除外。
然后你應該設定CellStyle特定列的屬性,而不是設定整個CellStyle屬性DataGrid,例如:
<DataGrid ... >
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Gebucht}" Value="True">
<Setter Property="Background" Value="Green"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=dringendeBuchung}" Value="True">
<Setter Property="Background" Value="Yellow"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Dringend}" Header="Dringend">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Dringend}" Value="True">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<!-- other columns... -->
</DataGrid.Columns>
</DataGrid>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/415531.html
標籤:
上一篇:C#WPF錯誤:System.Windows.Markup.XamlParseException:“無法從文本“Hyperlink_RequestNavigate”創建“RequestNavigate
