我有一個WPF
DataGrid
,在那我可以設置DataGrid
RowBackground
顏色,替代RowBackground
顏色獨立。同樣我想設置DataGrid
RowForeground
顏色,替代RowForeground
顏色。如何獨立製作WPF Datagrid行前景和替代行前景色?
我該如何以簡單和最優的方式實現這一目標?
我綁定DataGrid動態,XAML靜態資源不會幫助我在這裏。
我有一個WPF
DataGrid
,在那我可以設置DataGrid
RowBackground
顏色,替代RowBackground
顏色獨立。同樣我想設置DataGrid
RowForeground
顏色,替代RowForeground
顏色。如何獨立製作WPF Datagrid行前景和替代行前景色?
我該如何以簡單和最優的方式實現這一目標?
我綁定DataGrid動態,XAML靜態資源不會幫助我在這裏。
可以使用AlternationIndex道具這樣的:
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Foreground" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
您可以設置一個樣式觸發器,它將根據其背景顏色更改行的前景色。
例如,默認情況下,該行的前景色爲藍色,但如果它的背景色爲白色,則其前景色爲紅色。見下文。
<DataGrid ...>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="TextElement.Foreground" Value="Blue"/>
<Style.Triggers>
<Trigger Property="TextElement.Background" Value="White">
<Setter Property="TextElement.Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
...
</DataGrid>
你嘗試重寫OnLoadingRow()事件?一種簡單的方法是獲取背景畫筆並基於此,您可以設置前景。 – Ramin