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"& ...
随机推荐
- 1011. A+B和C (15)
/*1011. A+B和C (15) 时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者HOU, Qiming给定区间[-231, 231]内的3个整数A ...
- 微信小程序view标签以及display:flex的测试
一:testview.wxml,testview.js自动生成示例代码 //testview.wxml <view class="section"> <view ...
- spring+mybatis的简单配置示例
简单代码结构: //Book.java package com.hts.entity; public class Book { private String id; private String bo ...
- Java-反射机制学习
反射机制是Java的一个重要性,它使得Java语言具有了动态特性.比如说,可以在代码中动态地获取某个类的信息,生成它的实例.获取其成员变量.调用它的方法.下面通过几个示例来演示反射机制的作用与用法. ...
- 201521123121 《Java程序设计》第5周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句 ...
- 火狐html5拖拽 弹出新页面解决办法
今天做项目时,需要实现一个拖拽排序的功能,遂想到了html5的拖拽,便开始查资料,写代码.功夫不复有心人,通过网上资料作参考,排序功能成功实现.谷歌浏览器测试,拖拽平滑,无问题.火狐浏览器测试时,却无 ...
- Java并发编程 Volatile关键字解析
volatile关键字的两层语义 一旦一个共享变量(类的成员变量.类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了 ...
- AJAX验证码检查
前言 对于验证码检查我们并不会陌生,我们在学习Session的时候已经使用过了验证码检查了.详细可参考:http://blog.csdn.net/hon_3y/article/details/5479 ...
- htt p第一章概述
http的概述 1 web客户端与服务器是如何通信 2 web资源来自的何方 3 web事务是怎样的工作的 4 http通信所使用的报文结构 5 底层tcp的传输的结构 6不同的http协议体 什么是 ...
- open和opener使用說明
父網頁:window.open("article.html")子網頁:var dialoginfo=$('#dialogdata',window.opener.document); ...