一、DataGrid简单使用

DataGrid的使用其实跟TreeView类似,只不过后台组织的对象结构不同,DataGrid一般不需要递归结构,它绑定的数据源,一个属性就代表一个一列,理解不了没事,我直接上代码。

定义了一个关于水果的对象(这次偷懒了,想着简单介绍下,就没按正规创建工程的方式来了)

     private string name;/// <summary>/// 名字/// </summary>public string Name{get => name;set{name = value;OnPropertyChanged();}}private int number;/// <summary>/// 数量/// </summary>public int Number{get => number;set{number = value;OnPropertyChanged();}}private double price;/// <summary>/// 价格/// </summary>public double Price{get => price;set{price = value;OnPropertyChanged();}}

三个属性,对应三列,老规矩,写界面和ViewModel(代码很简单,自己写咯)

        public ObservableCollection<DataGridModel> DataGridModels { get; set; } = new ObservableCollection<DataGridModel>();public DataGridViewModel(){Create();}private void Create(){DataGridModels.Add(new DataGridModel(){Name = "苹果",Number = 5,Price = 1.5});DataGridModels.Add(new DataGridModel(){Name = "香蕉",Number = 2,Price = 15});DataGridModels.Add(new DataGridModel(){Name = "菠萝",Number = 3,Price = 10});}

写好直接运行,看看效果

一个对象,对应一行,一个属性,对应一列,跟TreeView每一级对应一个对象类似的,默认的样式有点。。。所以,接下来咱们美化它。

先美化列名成中文 ——>名称、数量、价格(DataGrid下有个Columns是包含所有的列,改列的样式一般也在这里面)

        <DataGrid.Columns><DataGridTextColumn Binding="{Binding Name}" Header="名称" /><DataGridTextColumn Binding="{Binding Number}" Header="数量" /><DataGridTextColumn Binding="{Binding Price}" Header="价格" /></DataGrid.Columns>

运行,

嘶,怎么显示两次了。。。 (小问题)看官网发现DataGrids默认自动创建列的,这也就是我们一开始只绑定数据源就显示列的原因,AutoGenerateColumns="False",把这属性设置为False就行了。

接着创建其他的列类型(checkbox、combobox、hyperlink)

(如果这是一直对最后一行进行双击后,再切换到其他行,会增加一行),直接设置CanUserAddRows="False",让它不能创建行。

OK,接下来设置隔行变色:AlternatingRowBackground="LightBlue"(设置目标行的颜色),AlternationCount="2"(设置变色行间隔,最小值为2)

最后是对行和单元格的样式设置

    <DataGrid.RowStyle><Style TargetType="DataGridRow"><Setter Property="Background" Value="SkyBlue" /></Style></DataGrid.RowStyle><DataGrid.CellStyle><Style TargetType="DataGridCell"><Style.Triggers><Trigger Property="IsSelected" Value="True"><Setter Property="Foreground" Value="Red" /></Trigger></Style.Triggers></Style></DataGrid.CellStyle>

运行结果如图所示

结束

这次这个是非常简单的介绍,对应DataGrid中的DataGridTemplateColumn(非常强大)的运用,后面我是打算用个场景来展示DataGrid的应用,这篇文章就算是入门篇吧

当然,欢迎各位批评指正,谢谢啦

附赠

这是我的demo源码:https://github.com/TQtong/DataGridDemo.git

新手入门WPF之DataGrid控件(一)相关推荐

  1. 新手入门WPF之TreeView控件(一)

    刚接触C#没多久,学着用C#中的WPF做 一些界面,所以本篇文章适合初学者看,这次我主要介绍的是在项目中经常用到的一个WPF控件--TreeView. TreeView也就是目录树,先给出一个最简单的 ...

  2. 详解WPF 4 DataGrid控件的基本功能

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 详解WPF 4 D ...

  3. WPF之DataGrid控件使用

    WPF之DataGrid控件使用 一.DataGrid简介 二.DataGrid数据源绑定 三.DataGrid单元格编辑触发事件 四.DataGrid增加删除行 五.DataGrid数据触发器 参考 ...

  4. WPF 自定义DataGrid控件样式

    WPF 自定义DataGrid控件样式 样式一: 样式代码: <!--DataGrid样式--><Style TargetType="DataGrid">& ...

  5. 有关WPF中DataGrid控件的基础应用总结

    基础说明 DataGrid是WPF提供的基础控件,它可以非常轻松的呈现出一张表格,本文章会按照从易到难的顺序依次将DataGrid的使用方法进行解说,除了MSDN上给出的最基本的例子之外,给出了三个比 ...

  6. WPF中DataGrid控件

    WPF中DataGrid控件的个别属性使用 //设置不可自动拉伸宽度dataGrid.CanUserResizeColumns = false;//第一列不可见dataGrid.HeadersVisi ...

  7. WPF(5)WPF之DataGrid控件

    系列文章目录 WPF(1)WPF工程创建 WPF(2)WPF之Image组件 WPF(3)WPF之Button组件 文章目录 系列文章目录 前言 一.DataGrid入门? 1.1 CanUserAd ...

  8. WPF 4 DataGrid 控件(基本功能篇)

    提到DataGrid 不管是网页还是应用程序开发都会频繁使用.通过它我们可以灵活的在行与列间显示各种数据.本篇将详细介绍WPF 4 中DataGrid 的相关功能. 自定义列 默认情况下,当我们为Da ...

  9. 转 8天入门wpf—— 第六天 细说控件

    WPF中的控件大体上分为四类 内容控件 ContentControl直接从Control类中派生出来,内容控件的最大特征是含有一个Content属性,Content属性的类型是Object,因此内容控 ...

最新文章

  1. pycharm安装pytorch报错 提示系列问题 torch 包找不到因为pip版本低,结果升级了pip从19.3到20.2 4又提示高版不支持torch安装
  2. 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第8章-固定翼飞行器的编队跟踪与姿态调节一体化控制
  3. imu与gps之间的时间戳_一个时间戳精度问题,引发了一个MySQL血案
  4. 原地不动 福玛特机器人_智能扫地机器人一直在原地打转是怎么回事以及解决办法...
  5. 还在犹豫吗?现在参与 OCM 社区正是时候
  6. python16_day37【爬虫2】
  7. PyImageSearch新出教程:Dlib多目标跟踪(附下载地址)
  8. docker 镜像修改的配置文件自动还原_所以到底该如何修改 docker 容器的端口映射!!!...
  9. 使用Ueditor点击上传图片时显示延迟的问题
  10. 悲剧,当用cywin 写Linux脚本
  11. mysql 给表填充数据库_mysql---为测试数据库填充大量数据
  12. pyQt4导入问题:ImportError: No module named PyQt4
  13. 36.42. schemata
  14. springboot毕设项目基于SpringBoot的个人理财系统ibx9h(java+VUE+Mybatis+Maven+Mysql)
  15. java .jar怎么打开_jar文件怎么打开,教您如何打开jar文件
  16. 短网址防封的原理是什么?
  17. aotorun专杀工具(U盘病毒专杀)
  18. 前缀和计算机相关,网络设置子网掩码和前缀长度计算机应用知识
  19. 移动硬盘插服务器上坏了,移动硬盘接口坏了怎么办解决教程
  20. 单片机音频节奏灯_基于单片机的音乐节奏彩灯控制系统设计

热门文章

  1. soapUI文件头带请求
  2. AlexNet,VGG,ResNet,MobileNet
  3. 学计算机用不用手机,手机投屏到电脑原来这么简单?不用数据线,小白都能学会!...
  4. RADServer应用程序的交钥匙应用程序基础
  5. 自动关机HTA桌面小程序实现源码
  6. 知识图谱构建与应用推荐学习分享
  7. python向windows服务器上传文件(夹)
  8. dos攻击命令_Kali Linux系列之拒绝服务攻击(DOS)实战(下)
  9. 【备战面试】算法每日一练
  10. CAD打印设置(com接口)