1. 设置DataGrid控件的外观和行为

 

<!-- 定义一个名为DataGridDefault的样式,专门用于设置DataGrid控件的外观和行为 -->
<Style x:Key="DataGridDefault" TargetType="DataGrid">
    
    <!-- 设置DataGrid在Grid布局中的行索引为1 -->
    <Setter Property="Grid.Row" Value="1" />
    
    <!-- 设置DataGrid的水平对齐方式为拉伸,使其填满整个分配给它的水平空间 -->
    <Setter Property="HorizontalAlignment" Value="Stretch" />
    
    <!-- 设置DataGrid不自动生成列,需要手动定义列 -->
    <Setter Property="AutoGenerateColumns" Value="False" />
    
    <!-- 设置DataGrid的背景颜色为透明 -->
    <Setter Property="Background" Value="Transparent" />
    
    <!-- 设置DataGrid的边框厚度为0,即没有边框 -->
    <Setter Property="BorderThickness" Value="0" />
    
    <!-- 设置DataGrid的边框颜色为白色,但由于BorderThickness为0,这个设置不会显示出来 -->
    <Setter Property="BorderBrush" Value="#ffffff" />
    
    <!-- 设置DataGrid不显示网格线 -->
    <Setter Property="GridLinesVisibility" Value="None" />
    
    <!-- 设置DataGrid为只读模式,不允许编辑单元格内容 -->
    <Setter Property="IsReadOnly" Value="True" />
    
    <!-- 设置DataGrid的行头宽度为0,即不显示行头 -->
    <Setter Property="RowHeaderWidth" Value="0" />
    
    <!-- 设置DataGrid的行高为40像素 -->
    <Setter Property="RowHeight" Value="40" />
    
    <!-- 设置DataGrid的选择单元为单个单元格 -->
    <Setter Property="SelectionUnit" Value="Cell" />
    
    <!-- 设置DataGrid的外边距为2像素 -->
    <Setter Property="Margin" Value="2" />
</Style>

2.设置DataGridColumnHeader控件

 

<!-- 定义一个名为DataGridColumnHeaderStyle的样式,专门用于设置DataGridColumnHeader控件的外观 -->
<Style x:Key="DataGridColumnHeaderStyle" TargetType="DataGridColumnHeader">
    
    <!-- 设置列头中内容的水平对齐方式为左对齐 -->
    <Setter Property="HorizontalContentAlignment" Value="Left" />
    
    <!-- 设置列头中内容的内边距,左边距为10,其他三边为0 -->
    <Setter Property="Padding" Value="10,0,0,0" />
    
    <!-- 设置列头中内容的垂直对齐方式为居中 -->
    <Setter Property="VerticalContentAlignment" Value="Center" />
    
    <!-- 设置列头的高度为40像素 -->
    <Setter Property="Height" Value="40" />
    
    <!-- 设置列头的背景颜色为透明 -->
    <Setter Property="Background" Value="Transparent" />
    
    <!-- 以下是两行被注释掉的代码,用于设置列头的边框颜色和厚度 -->
    <!--<Setter Property="BorderBrush" Value="#ffffff" />-->
    <!--<Setter Property="BorderThickness" Value="1" />-->
    
    <!-- 设置列头的前景色(即文本颜色)为白色 -->
    <Setter Property="Foreground" Value="#ffffff" />
</Style>

可以在WPF的DataGrid控件中应用到所有的列头上,使得它们具有统一的外观和风格 

3.设置DataGridCell控件

 

<!-- 定义一个名为DataGridCellStyle的样式,专门用于设置DataGridCell控件的外观 -->
<Style x:Key="DataGridCellStyle" TargetType="DataGridCell">
    
    <!-- 设置单元格中内容的水平对齐方式为居中 -->
    <Setter Property="HorizontalContentAlignment" Value="Center" />
    
    <!-- 设置单元格中内容的垂直对齐方式为居中 -->
    <Setter Property="VerticalContentAlignment" Value="Center" />
    
    <!-- 设置单元格的边框厚度为0,即不显示边框 -->
    <Setter Property="BorderThickness" Value="0" />
    
    <!-- 定义触发器,用于在单元格的属性值变化时改变单元格的样式 -->
    <Style.Triggers>
        <!-- 当单元格被选中(IsSelected为True)时,触发以下样式变化 -->
        <Trigger Property="IsSelected" Value="True">
            
            <!-- 设置选中单元格的背景颜色为特定的颜色值(#660077) -->
            <Setter Property="Background" Value="#660077" />
        </Trigger>
    </Style.Triggers>
</Style>

可以在WPF的DataGrid控件中应用到所有的单元格上,使得它们具有统一的外观和风格可以在XAML的其他部分通过键值引用这个样式。TargetType属性指定了这个样式是针对DataGridCell类型的控件。每个Setter标签定义了一个特定的属性和它的值,用于设置单元格的不同视觉方面。Style.Triggers部分定义了一个触发器,当单元格的IsSelected属性为True时,即单元格被选中时,会改变单元格的背景颜色。这样的样式定义可以让开发者在DataGrid控件中重用这个样式,以保持单元格的一致外观。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部