c#里wpf下怎么设置dataGrid的奇数行和偶数行各为一种颜色?比如this.dataGrid.后面加啥属性进行设置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#里wpf下怎么设置dataGrid的奇数行和偶数行各为一种颜色?比如this.dataGrid.后面加啥属性进行设置?相关的知识,希望对你有一定的参考价值。

datagrideview控件,无法自行配置奇数行和偶数行的底色,只能由代码实现。
示例代码如下:
this.dataGridView2.Rows[5].DefaultCellStyle.BackColor = Color.Red;//指定行颜色设置
this.dataGridView2.Columns[1].DefaultCellStyle.BackColor = Color.GreenYellow;//指定列颜色设置
this.dataGridView2.Rows[10].Cells[2].Style.BackColor = Color.Red;//指定单元格颜色设置
参考技术A         <DataGrid AlternationCount="2">
            <DataGrid.RowStyle>
                <Style TargetType="x:Type DataGridRow">
                    <Style.Triggers>
                        <Trigger Property="ItemsControl.AlternationIndex" 
                                 Value="0">
                            <Setter Property="Foreground" Value="Red" />
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </DataGrid.RowStyle>
        </DataGrid>

 

ItemsControl.AlternationCount 属性 (System.Windows.Controls)

http://msdn.microsoft.com/zh-cn/beginner/system.windows.controls.itemscontrol.alternationcount(VS.110).aspx

本回答被提问者和网友采纳

WPF的DataGrid怎么实现多行表头

默认情况下,C1FlexGrid仅有一行多表头,如何来动态的给它添加多表头?
1.添加行和列:通过FlexGrid.Columns.Add和FlexGrid.Rows.Add方法添加行和列。
2.添加多行表头:通过FlexGrid.ColumnHeaders.Rows.Add方法,在ColumnHeaders区域添加多行的表头,实现多行表头。
3.设置Caption内容:通过FlexGrid.ColumnHeaders[row, column]设置Caption内容。
4.合并:通过使用AllowMerging属性对表头进行合并。
详细的代码实现,请参考下面的博客
http://blog.gcpowertools.com.cn/post/2016/02/03/FlexGrid_MultiRowsColumnHeader.aspx
参考技术A <Style x:Key="CityNumStyle" TargetType="DataGridColumnHeader">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid x:Name="Root">
<!--<Rectangle x:Name="BackgroundGradient" Fill="#eee" Stretch="Fill" Grid.ColumnSpan="2" />-->
<ContentPresenter Content="区号" Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="CityNameStyle" TargetType="DataGridColumnHeader">
<Setter Property="Foreground" Value="#222" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="IsTabStop" Value="False" />
<Setter Property="SeparatorBrush" Value="#CCC" />
<Setter Property="Padding" Value="8" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid x:Name="Root">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<!--<Rectangle x:Name="BackgroundRectangle" Fill="#eee" Stretch="Fill" Grid.ColumnSpan="2" />-->
<Grid HorizontalAlignment="TemplateBinding HorizontalContentAlignment" VerticalAlignment="TemplateBinding VerticalContentAlignment">
<Grid.RowDefinitions>
<RowDefinition Height="20" />
<RowDefinition Height="1" />
<RowDefinition Height="20" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=

以上是关于c#里wpf下怎么设置dataGrid的奇数行和偶数行各为一种颜色?比如this.dataGrid.后面加啥属性进行设置?的主要内容,如果未能解决你的问题,请参考以下文章

C# wpf datagrid 动态加载数据后改变单元格颜色bug

C#,WPF怎么把txt里的内容导到DataGrid里

C# WPF datagrid checkboxcolumn 使用问题

WPF DataGrid 如何动态设置单行高度

c# wpf的datagrid列标题间的分割线,我加background后变成一大块黑色的,怎么变成间隔的一块一块的,如图

WPF的DataGrid怎么知道当前点击的是第几行?C#