DataGrid设置奇偶行背景颜色

2025-10-24 17:33:02

1、首先我们在设计的时候,要先制作一个dataGrid的表格,然后填充数据,最起码,数据是要有的,不然也看不出什么效果出来。当然制作表格就直接使用

dataGrid控件就可以了。

<DataGrid   AutoGenerateColumns="False"  CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeColumns="True" CanUserResizeRows="False" CanUserSortColumns="False"

                                Name="datagrid1"   RowHeaderWidth="0" BorderBrush="Black" FontSize="15" IsReadOnly="True"  >

                    <DataGrid.Columns>

                    <DataGridTextColumn Header="***" Binding="{Binding ***}

                    <DataGridTextColumn Header="***" Binding="{Binding ***}

                    <DataGridTextColumn Header="***" Binding="{Binding ***}

                    <DataGridTextColumn Header="***" Binding="{Binding ***}

                    <DataGridTextColumn Header="***" Binding="{Binding ***}

                    <DataGridTextColumn Header="***" Binding="{Binding ***}

                    <DataGridTextColumn Header="***" Binding="{Binding ***}

                    </DataGrid.Columns>

                </DataGrid>

DataGrid设置奇偶行背景颜色

2、当然这里面的设计我没有做任何的色彩渲染,纯粹就是vs自带的格式和样式,这样设计出来的表格确实不怎么好看,影响审美观,而且线条的颜色也没有处理,所以我们既要处理颜色,还要处理样式。

DataGrid设置奇偶行背景颜色

3、针对这种情况,我们要分别进行样式设计,首先要设计的是网格线:

<Style TargetType="DataGrid">

            <!--网格线颜色-->

            <Setter Property="CanUserResizeColumns" Value="false"/>

            <Setter Property="BorderBrush" Value="LightGray" />

            <Setter Property="HorizontalGridLinesBrush">

                <Setter.Value>

                    <SolidColorBrush Color="LightGray"/>

                </Setter.Value>

            </Setter>

            <Setter Property="VerticalGridLinesBrush">

                <Setter.Value>

                    <SolidColorBrush Color="LightGray"/>

                </Setter.Value>

            </Setter>

        </Style>

DataGrid设置奇偶行背景颜色

4、然后是单元格的标题,也就是表头,因为表头也影响着美观,这里的颜色可以根据实际情况进行配色。

   <Style  TargetType="DataGridColumnHeader" >

            <Setter Property="HorizontalAlignment" Value="Center"></Setter>

            <Setter Property="VerticalAlignment" Value="Center"></Setter>

            <Setter Property="FontSize" Value="16" />

            <Setter Property="BorderBrush" Value="#d6c79b" />

        </Style>

DataGrid设置奇偶行背景颜色

5、接下来配置的就是隔行换色的重点了

    <Style  TargetType="DataGridRow">

            <Setter Property="Height" Value="30"></Setter>

            <Setter Property="VerticalAlignment" Value="Center"></Setter>

            <Setter Property="HorizontalAlignment" Value="Center"></Setter>

            <Style.Triggers>

                <!--隔行换色-->

                <Trigger Property="AlternationIndex" Value="0" >

                    <Setter Property="Background" Value="LightGray" />

                </Trigger>

                <Trigger Property="AlternationIndex" Value="1" >

                    <Setter Property="Background" Value="#f2f2f2" />

                </Trigger>

                <Trigger Property="IsMouseOver" Value="True">

                    <Setter Property="Background" Value="Gray"/>

                    <!--<Setter Property="Foreground" Value="White"/>-->

                </Trigger>

                <Trigger Property="IsSelected" Value="True">

                    <Setter Property="Foreground" Value="Black"/>

                </Trigger>

            </Style.Triggers>

        </Style>

DataGrid设置奇偶行背景颜色

6、当配置好了之后,我们可以来看看效果了,效果中,我们很明显看到了隔行显示的问题,此外,鼠标的移动也可以改变这一行的颜色,这样看起来确实要比之前美观很多,所以,在设计的时候,多用样式还是挺好的。

DataGrid设置奇偶行背景颜色

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢