WPF DataGrid 样式设置
隔行换色,鼠标单击,悬浮样式都有,其具体效果如图 1 所示。
图 1 WPF DataGrid 样式设置效果图
其中:
界面设计代码下所示
1
2
3
4
5
6
7
8
9
10
11
12
|
< 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 > |
如果是想把整个所开发的应用程序都更改为这个样式,则在App.xaml文档里面添加相应的样式代码,如果只是当前界面,则在当前界面添加相应的样式代码,样式具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
< 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 > |
转载请注明:学者@李双琳 » 转载:WPF DataGrid 样式分享
WPF DataGrid 样式设置的更多相关文章
- WPF DataGrid 样式分享
原文:WPF DataGrid 样式分享 隔行换色,鼠标单击,悬浮样式都有 先看效果: 代码: <DataGrid AutoGenerateColumns="False" N ...
- WPF DataGrid列设置为TextBox控件的相关绑定
在wpf的DataGrid控件中,某一列的数据模板为TextBox控件的话,绑定Text="{Binding TxtSn, UpdateSourceTrigger=PropertyChang ...
- WPF DataGrid自定义样式
微软的WPF DataGrid中有很多的属性和样式,你可以调整,以寻找合适的(如果你是一名设计师).下面,找到我的小抄造型的网格.它不是100%全面,但它可以让你走得很远,有一些非常有用的技巧和陷阱. ...
- wpf datagrid设置右键菜单打开时选中项的背景色
原文:wpf datagrid设置右键菜单打开时选中项的背景色 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/huangli321456/artic ...
- WPF DataGrid某列使用多绑定后该列排序失效,列上加入 SortMemberPath 设置即可.
WPF DataGrid某列使用多绑定后该列排序失效 2011-07-14 10:59hdongq | 浏览 1031 次 悬赏:20 在wpf的datagrid中某一列使用了多绑定,但是该列排序失 ...
- WPF:DataTemplateSelector设置控件不同的样式
原文 WPF:DataTemplateSelector设置控件不同的样式 最近想实现这么个东西,一个ListBox, 里面的ListBoxItem可能是文本框.下拉框.日期选择控件等等. 很自然的想到 ...
- WPF DataGrid 数据绑定、样式、分页、增删改查,连接Access数据库
先上效果图: XAML: <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&q ...
- WPF DataGrid 自定义样式 MVVM 删除 查询
看到很多小伙伴在找Dategrid样式 就分享一个 ,有不好的地方 请指出 代码部分都加了注释 需要的可以自己修改为自己需要的样式 源码已经上传 地址: https://github.com/YC ...
- WPF自定义样式篇-DataGrid
WPF自定义样式篇-DataGrid 先上效果图: 样式: <!--DataGrid样式--> <Style TargetType="DataGrid"& ...
随机推荐
- 如何使用Git和码云Git@OSC
1.Git简介 关于Git是什么,阅读博客Git简介 2.Git 基础 Git命令很多,常用命令如下图 Workspace:工作区 Index/Stage :暂存区 Local Repository: ...
- 团队作业2——需求分析&原型设计
Deadline: 2017-4-14 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的三个方面 需求分析 原型设计 编码规范 晚交 - 0分 迟交两周以上 - ...
- java继承中的初始化顺序
初始化顺序:父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父类的非静态变量(父类的非静态代码块)-->父类的构造函数-->子类 ...
- 201521123052《Java程序设计》第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4 ...
- 201521123048 《Java程序设计》第7周学习总结
1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boolean contains(Object o) { re ...
- 201521123080《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 多线程: 内涵: 指的是这个程序(一个进程)运行时产生了不止一个线程 内存模型: main memory(主 ...
- java课程设计(个人)--五子棋
1.团队课程设计博客链接 http://www.cnblogs.com/mz201521044152/p/7065575.html 2.个人负责模块说明 棋盘类,绘制棋盘,绘制棋子,按钮设置,鼠标监听 ...
- MySQL的数据备份以及pymysql的使用
一.MySQL的数据备份 语法: # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql #示例: #单库备份 mysqldump -uroot -p123 ...
- 02_Ext_Panel
1,面板由以下几个部分组成, 一个顶部工具栏(tbar).一个底部工具栏(bbar).面板头部(header).面板尾部(bottom).面板主区域(body)几个部分组成. 面板类中还内置了面板展开 ...
- java面试题整理(1)
1.Equals与==的区别? ==是判断两个变量或者实例是不是指向同一个内存地址 equals是判断两个变量或者实例所指向的内存地址中的值是不是相同 2.Object有哪些公用方法? 方法equal ...