WPF-DataGrid(数据表格)美化
2024-08-30 17:36:25
我们不多哔哔先上图:
数据表格使用背景:
当我们在做二次开发发现我我们的表格无法向WEB的表格一样好看,这时我们就需要对数据表格进行美化和重构
表格美化思维引导:
WPF数据表格是由表头和表体(内容)组成那么我们就要对这两部分单独美化
表头美化代码:
<Style x:Key="DataGridStyle" TargetType="DataGrid">
<Setter Property="ColumnHeaderStyle" Value="{DynamicResource ColumnHeaderStyle}"></Setter>
<Setter Property="CellStyle" Value="{DynamicResource CellStyle}"></Setter>
<Setter Property="RowStyle" Value="{DynamicResource RowStyle}"></Setter>
<Setter Property="Background" Value="White"></Setter>
<Setter Property="EnableRowVirtualization" Value="False"></Setter>
<Setter Property="GridLinesVisibility" Value="None"></Setter>
<Setter Property="CanUserAddRows" Value="False"></Setter><!--禁止在尾行手动添加数据-->
<Setter Property="AutoGenerateColumns" Value="False"></Setter>
<Setter Property="IsEnabled" Value="True"></Setter>
</Style>
<Style x:Key="ColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="Height" Value=""></Setter>
<Setter Property="Background" Value="#F2F2F2"></Setter>
<Setter Property="BorderThickness" Value=""></Setter>
<Setter Property="BorderBrush" Value="#CBCBCB"></Setter>
<Setter Property="VerticalContentAlignment" Value="Center"></Setter><!--水平居中-->
<Setter Property="HorizontalContentAlignment" Value="Center"></Setter><!--垂直居中-->
</Style>
美化表体每行样式
<Style x:Key="RowStyle" TargetType="DataGridRow">
<Setter Property="Cursor" Value="Hand"></Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="#F2F2F2"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#CBCBCB" />
</Trigger>
</Style.Triggers>
</Style>
美化表体单元格内容样式
<Style x:Key="CellStyle" TargetType="DataGridCell">
<Setter Property="Height" Value=""></Setter>
<Setter Property="FontSize" Value=""></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridCell">
<Border x:Name="Bg" Background="Transparent" BorderThickness="" UseLayoutRounding="True" BorderBrush="#FFCBCBCB">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</ControlTemplate> </Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#CBCBCB" />
<Setter Property="Foreground" Value="#000000" />
</Trigger>
</Style.Triggers>
</Style>
注意:鼠标点击当前行时需要覆盖单元格颜色
最新文章
- 第一次react-native项目实践要点总结
- 关于SQL递归查询在不同数据库中的实现方法
- pthread_exit
- JQuery为元素添加样式
- mongodb.conf
- X11 五子棋
- Xcode6无法用xib得问题解决方法
- mysql5.7初始化密码报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before
- git 入门教程之备忘录[译]
- laravel 资源控制器
- java.lang.ClassNotFoundException: org.hibernate.engine.FilterDefinition的解决方案
- [重要] Django 多条件多表查询实例问题
- 从源码角度一步一步来修改PreferenceActivity界面
- sgd学习率选择问题
- C#使用 RNGCryptoServiceProvider 生成强随机字符串
- vsftpd for Anonymous Downloads on Ubuntu 16.04
- JQuery - 特殊字符转义(Uncaught Error: Syntax error, unrecognized expression:的处理)
- FineReport----报表模板入门教程1
- Ubantu下安装adobe flash player插件
- 博客移至CSDN
热门文章
- Codeforces Round Edu 36
- Java面试题,深入理解final关键字
- 2018.11.5 PION模拟赛
- Java中的重写
- 【scrapy】Item Pipeline
- &;quot;undefined reference to strptime&;quot;之自己定义strptime函数
- OpenCV---在图片上加入文字
- poj1161Post Office【经典dp】
- 修正iOS从照相机和相册中获取的图片 方向
- 硬件开发之bt输出---BT656/BT601/BT1120协议以及DM365/DM355/DM6467上使用的YUV颜色空间说明