<DataGrid > <DataGrid.CellStyle> <Style TargetType="DataGridCell"> <Style.Triggers> <Trigger Property="IsSelected" Value="True"> <Setter Property="Background" Value="Red"/> <Setter Property="Foreground" Value="Yellow"/> </Trigger> </Style.Triggers> </Style> </DataGrid.CellStyle> </DataGrid>
代碼動態設置:
Style styleCells = new Style(typeof(System.Windows.Controls.DataGridCell)); //styleCells.Setters.Add(new Setter //{ // Property = System.Windows.Documents.TextElement.ForegroundProperty, // Value = new SolidColorBrush(System.Windows.Media.Colors.Black) //}); Trigger triger = new Trigger() { Property = DataGridCell.IsSelectedProperty, Value = true }; triger.Setters.Add(new Setter() { Property = Control.BackgroundProperty, Value = new SolidColorBrush(System.Windows.Media.Colors.Red) }); triger.Setters.Add(new Setter() { Property = Control.ForegroundProperty, Value = new SolidColorBrush(System.Windows.Media.Colors.White) }); styleCells.Triggers.Add(triger); this.dataGrid.CellStyle = styleCells;
代碼設置datagrid 列頭部(DataGridColumnHeader)的顏色:
Style chdStyle = new Style(typeof(System.Windows.Controls.Primitives.DataGridColumnHeader)); chdStyle.Setters.Add(new Setter { Property = System.Windows.Documents.TextElement.ForegroundProperty, Value = new SolidColorBrush(System.Windows.Media.Colors.Black) }); this.dataGrid.ColumnHeaderStyle = chdStyle;
或者修改ui:
<DataGrid.ColumnHeaderStyle> <Style TargetType="DataGridColumnHeader"> <Style.Setters> <Setter Property="Background" Value="Red"></Setter> <Setter Property="Foreground" Value="White"></Setter> </Style.Setters> </Style> </DataGrid.ColumnHeaderStyle>