• WPF DataGrid 样式分享


    隔行换色,鼠标单击,悬浮样式都有

    先看效果:

    代码:

    <DataGrid AutoGenerateColumns="False"  Name="dataGrid1"  VerticalAlignment="Top"
                      CanUserSortColumns="False"  Width="660"   Margin="5" IsReadOnly="True"
                      CanUserResizeColumns="False" CanUserResizeRows="False"  SelectionMode="Single"
                      CanUserReorderColumns="False" AlternationCount="2"  RowHeaderWidth="0" CanUserAddRows="False"><DataGrid.Columns><DataGridTextColumn Header="名称" Width="150"  Binding="{Binding  Name}"/><DataGridTextColumn Header="最新价"   Width="120"  Binding="{Binding Zxj}"/><DataGridTextColumn Header="涨跌"  Width="120"  Binding="{Binding Zd}"/><DataGridTextColumn Header="涨幅"  Width="130"  Binding="{Binding Zf}"/><DataGridTextColumn Header="短线强势股"  Width="140"  Binding="{Binding Dxqsg}"/></DataGrid.Columns></DataGrid>

    Style代码:

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Style TargetType="DataGrid"><!--网格线颜色--><Setter Property="CanUserResizeColumns" Value="false"/><Setter Property="Background" Value="#E6DBBB"/><Setter Property="BorderBrush" Value="#d6c79b"/><Setter Property="HorizontalGridLinesBrush"><Setter.Value><SolidColorBrush Color="#d6c79b"/></Setter.Value></Setter><Setter Property="VerticalGridLinesBrush"><Setter.Value><SolidColorBrush Color="#d6c79b"/></Setter.Value></Setter></Style><!--标题栏样式--><!--<Style  TargetType="DataGridColumnHeader" >
            <Setter Property="Width" Value="50"/>
            <Setter Property="Height" Value="30"/>
            <Setter Property="FontSize" Value="14" />
            <Setter Property="Background" Value="White" />
            <Setter  Property="FontWeight"  Value="Bold"/>
        </Style>--><Style TargetType="DataGridColumnHeader"><Setter Property="SnapsToDevicePixels" Value="True"/><Setter Property="MinWidth" Value="0"/><Setter Property="MinHeight" Value="28"/><Setter Property="Foreground" Value="#323433"/><Setter Property="FontSize" Value="14"/><Setter Property="Cursor" Value="Hand"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="DataGridColumnHeader"><Border x:Name="BackgroundBorder" BorderThickness="0,1,0,1" 
                                 BorderBrush="#e6dbba" 
                                  Width="Auto"><Grid ><Grid.ColumnDefinitions><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><ContentPresenter  Margin="0,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Center"/><Path x:Name="SortArrow" Visibility="Collapsed" Data="M0,0 L1,0 0.5,1 z" Stretch="Fill"  Grid.Column="2" Width="8" Height="6" Fill="White" Margin="0,0,50,0" 
                                VerticalAlignment="Center" RenderTransformOrigin="1,1"/><Rectangle Width="1" Fill="#d6c79b" HorizontalAlignment="Right" Grid.ColumnSpan="1"/><!--<TextBlock  Background="Red">
                                <ContentPresenter></ContentPresenter></TextBlock>--></Grid></Border></ControlTemplate></Setter.Value></Setter><Setter Property="Height" Value="25"/></Style><!--行样式触发--><!--背景色改变必须先设置cellStyle 因为cellStyle会覆盖rowStyle样式--><Style  TargetType="DataGridRow"><Setter Property="Background" Value="#F2F2F2"/><Setter Property="Height" Value="25"/><Setter Property="Foreground" Value="Black"/><Style.Triggers><!--隔行换色--><Trigger Property="AlternationIndex" Value="0"><Setter Property="Background" Value="#e7e7e7"/></Trigger><Trigger Property="AlternationIndex" Value="1"><Setter Property="Background" Value="#f2f2f2"/></Trigger><Trigger Property="IsMouseOver" Value="True"><Setter Property="Background" Value="LightGray"/><!--<Setter Property="Foreground" Value="White"/>--></Trigger><Trigger Property="IsSelected" Value="True"><Setter Property="Foreground" Value="Black"/></Trigger></Style.Triggers></Style><!--单元格样式触发--><Style TargetType="DataGridCell"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="DataGridCell"><TextBlock TextAlignment="Center" VerticalAlignment="Center"><ContentPresenter /></TextBlock></ControlTemplate></Setter.Value></Setter><Style.Triggers><Trigger Property="IsSelected" Value="True"><!--<Setter Property="Background" Value="White"/>
                    <Setter Property="BorderThickness" Value="0"/>--><Setter Property="Foreground" Value="Black"/></Trigger></Style.Triggers></Style></ResourceDictionary>

    本文同步发表在 http://xiaogangblog.com

    transactioncodetemplate
    
  • 相关阅读:
    Spring Boot (五): Redis缓存使用姿势盘点
    跟我学SpringCloud | 第二十章:Spring Cloud 之 okhttp
    Spring Boot (四): Druid 连接池密码加密与监控
    跟我学SpringCloud | 第十九章:Spring Cloud 组件 Docker 化
    跟我学SpringCloud | 第十八篇:微服务 Docker 化之基础环境
    Spring Boot (三): ORM 框架 JPA 与连接池 Hikari
    Spring Cloud Alibaba | Dubbo Spring Cloud 之 HTTP 实战
    Spring Cloud Alibaba | Dubbo 与 Spring Cloud 完美结合
    Spring Boot (二):模版引擎 Thymeleaf 渲染 Web 页面
    可以穿梭时空的实时计算框架——Flink对时间的处理
  • 原文地址:https://www.cnblogs.com/sjqq/p/7884764.html
Copyright © 2020-2023  润新知