我们不多哔哔先上图:

数据表格使用背景:

  当我们在做二次开发发现我我们的表格无法向WEB的表格一样好看,这时我们就需要对数据表格进行美化和重构

表格美化思维引导:

  WPF数据表格是由表头和表体(内容)组成那么我们就要对这两部分单独美化

  表头美化代码:

  1. <Style x:Key="DataGridStyle" TargetType="DataGrid">
  2. <Setter Property="ColumnHeaderStyle" Value="{DynamicResource ColumnHeaderStyle}"></Setter>
  3. <Setter Property="CellStyle" Value="{DynamicResource CellStyle}"></Setter>
  4. <Setter Property="RowStyle" Value="{DynamicResource RowStyle}"></Setter>
  5. <Setter Property="Background" Value="White"></Setter>
  6. <Setter Property="EnableRowVirtualization" Value="False"></Setter>
  7. <Setter Property="GridLinesVisibility" Value="None"></Setter>
  8. <Setter Property="CanUserAddRows" Value="False"></Setter><!--禁止在尾行手动添加数据-->
  9. <Setter Property="AutoGenerateColumns" Value="False"></Setter>
  10. <Setter Property="IsEnabled" Value="True"></Setter>
  11. </Style>
  12. <Style x:Key="ColumnHeaderStyle" TargetType="DataGridColumnHeader">
  13. <Setter Property="Height" Value=""></Setter>
  14. <Setter Property="Background" Value="#F2F2F2"></Setter>
  15. <Setter Property="BorderThickness" Value=""></Setter>
  16. <Setter Property="BorderBrush" Value="#CBCBCB"></Setter>
  17. <Setter Property="VerticalContentAlignment" Value="Center"></Setter><!--水平居中-->
  18. <Setter Property="HorizontalContentAlignment" Value="Center"></Setter><!--垂直居中-->
  1. </Style>

美化表体每行样式

  1. <Style x:Key="RowStyle" TargetType="DataGridRow">
  2. <Setter Property="Cursor" Value="Hand"></Setter>
  3. <Style.Triggers>
  4. <Trigger Property="IsMouseOver" Value="true">
  5. <Setter Property="Background" Value="#F2F2F2"/>
  6. </Trigger>
  7. <Trigger Property="IsSelected" Value="True">
  8. <Setter Property="Background" Value="#CBCBCB" />
  9. </Trigger>
  10. </Style.Triggers>
  11. </Style>

美化表体单元格内容样式

  1. <Style x:Key="CellStyle" TargetType="DataGridCell">
  2. <Setter Property="Height" Value=""></Setter>
  3. <Setter Property="FontSize" Value=""></Setter>
  4. <Setter Property="Template">
  5. <Setter.Value>
  6. <ControlTemplate TargetType="DataGridCell">
  7. <Border x:Name="Bg" Background="Transparent" BorderThickness="" UseLayoutRounding="True" BorderBrush="#FFCBCBCB">
  8. <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
  9. </Border>
  10. </ControlTemplate>
  11.  
  12. </Setter.Value>
  13. </Setter>
  14. <Style.Triggers>
  15. <Trigger Property="IsSelected" Value="True">
  16. <Setter Property="Background" Value="#CBCBCB" />
  17. <Setter Property="Foreground" Value="#000000" />
  18. </Trigger>
  19. </Style.Triggers>
  20. </Style>

注意:鼠标点击当前行时需要覆盖单元格颜色

WPF-DataGrid(数据表格)美化的更多相关文章

  1. EasyUI datagrid数据表格的函数getData返回来的是什么

    EasyUI datagrid数据表格的函数getData返回来的是什么? 他返回来的是这么一个对象: Object { rows=[10], total=15} 其中rows就是每一行的数据,是这些 ...

  2. JQuery Easy Ui dataGrid 数据表格 ---制作查询下拉菜单

    JQuery Easy Ui dataGrid 数据表格 数据表格 - DataGrid 继承$.fn.panel.defaults,使用$.fn.datagrid.defaults重载默认值.. 数 ...

  3. DataGrid( 数据表格) 组件[9]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  4. DataGrid( 数据表格) 组件[8]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  5. DataGrid( 数据表格) 组件[7]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  6. DataGrid( 数据表格) 组件[6]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  7. DataGrid( 数据表格) 组件[5]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  8. DataGrid( 数据表格) 组件[4]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  9. DataGrid( 数据表格) 组件[3]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  10. DataGrid( 数据表格) 组件[2]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

随机推荐

  1. 利用Cufon技术渲染文字的简单示例

    Cufon是一种能够根据指定的字体渲染文字的技术.今天试用了下,主要有几个步骤: 1.下载Cufon.js(http://cufon.shoqolate.com/generate/) 2.获取需要渲染 ...

  2. 洛谷 P3811 【模板】乘法逆元

    P3811 [模板]乘法逆元 题目背景 这是一道模板题 题目描述 给定n,p求1~n中所有整数在模p意义下的乘法逆元. 输入输出格式 输入格式: 一行n,p 输出格式: n行,第i行表示i在模p意义下 ...

  3. 纯Java Web项目下的Session共享方案收集(待实践)

    1.使用filter方法存储 这种方法比较推荐,因为它的服务器使用范围比较多,不仅限于tomcat ,而且实现的原理比较简单容易控制. 可以使用memcached-session-filter 官方网 ...

  4. uva558 Wormholes SPFA 求是否存在负环

    J - Wormholes Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Stat ...

  5. Office EXCEL 如何将复制的一堆数据按空格断开

    1 复制粘贴一堆数据,点击数据-分类,然后点击下一步   2 一直下一步   3 最后效果如下图所示  

  6. Linux - Ubuntu中文输入法安装(Ubuntu 12.04)

    Ubuntu中文输入法安装(Ubuntu 12.04) 本文地址:http://blog.csdn.net/caroline_wendy Ubuntu作为Linux常见的操作系统,是须要熟练使用的. ...

  7. 深入源代码解析Android中的Handler,Message,MessageQueue,Looper

    本文主要是对Handler和消息循环的实现原理进行源代码分析.假设不熟悉Handler能够參见博文< Android中Handler的使用>,里面对Android为何以引入Handler机 ...

  8. struts2的文件上传机制

    Struts2的上传(基本流程例如以下) 1.Struts2默认採用了apache commons-fileupload 2.Struts2支持三种类型的上传组件 3.须要引入commons-file ...

  9. 多媒体开发之wis-stream

    在live555的mediaServer中,已经实现RTSP-over-HTTP,但默认没有开启.如果要实现这个功能,需要调用RTSPServer::setUpTunnelingOverHTTP(), ...

  10. Java 文件路径的读取

    记得在操作系统中了解到文件读取有两种方式,当然这在各编程语言中也是通用的,所以java路径也分,相对和绝对路径. 绝对路径 绝对路径URI ,听着和URL非常相似.那我们就来看看吧. URI(Unif ...