WPF 设置DataGrid 选中的背景色和前景色


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

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM