新手入门WPF之DataGrid控件(一)
一、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控件(一)相关推荐
- 新手入门WPF之TreeView控件(一)
刚接触C#没多久,学着用C#中的WPF做 一些界面,所以本篇文章适合初学者看,这次我主要介绍的是在项目中经常用到的一个WPF控件--TreeView. TreeView也就是目录树,先给出一个最简单的 ...
- 详解WPF 4 DataGrid控件的基本功能
分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 详解WPF 4 D ...
- WPF之DataGrid控件使用
WPF之DataGrid控件使用 一.DataGrid简介 二.DataGrid数据源绑定 三.DataGrid单元格编辑触发事件 四.DataGrid增加删除行 五.DataGrid数据触发器 参考 ...
- WPF 自定义DataGrid控件样式
WPF 自定义DataGrid控件样式 样式一: 样式代码: <!--DataGrid样式--><Style TargetType="DataGrid">& ...
- 有关WPF中DataGrid控件的基础应用总结
基础说明 DataGrid是WPF提供的基础控件,它可以非常轻松的呈现出一张表格,本文章会按照从易到难的顺序依次将DataGrid的使用方法进行解说,除了MSDN上给出的最基本的例子之外,给出了三个比 ...
- WPF中DataGrid控件
WPF中DataGrid控件的个别属性使用 //设置不可自动拉伸宽度dataGrid.CanUserResizeColumns = false;//第一列不可见dataGrid.HeadersVisi ...
- WPF(5)WPF之DataGrid控件
系列文章目录 WPF(1)WPF工程创建 WPF(2)WPF之Image组件 WPF(3)WPF之Button组件 文章目录 系列文章目录 前言 一.DataGrid入门? 1.1 CanUserAd ...
- WPF 4 DataGrid 控件(基本功能篇)
提到DataGrid 不管是网页还是应用程序开发都会频繁使用.通过它我们可以灵活的在行与列间显示各种数据.本篇将详细介绍WPF 4 中DataGrid 的相关功能. 自定义列 默认情况下,当我们为Da ...
- 转 8天入门wpf—— 第六天 细说控件
WPF中的控件大体上分为四类 内容控件 ContentControl直接从Control类中派生出来,内容控件的最大特征是含有一个Content属性,Content属性的类型是Object,因此内容控 ...
最新文章
- pycharm安装pytorch报错 提示系列问题 torch 包找不到因为pip版本低,结果升级了pip从19.3到20.2 4又提示高版不支持torch安装
- 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第8章-固定翼飞行器的编队跟踪与姿态调节一体化控制
- imu与gps之间的时间戳_一个时间戳精度问题,引发了一个MySQL血案
- 原地不动 福玛特机器人_智能扫地机器人一直在原地打转是怎么回事以及解决办法...
- 还在犹豫吗?现在参与 OCM 社区正是时候
- python16_day37【爬虫2】
- PyImageSearch新出教程:Dlib多目标跟踪(附下载地址)
- docker 镜像修改的配置文件自动还原_所以到底该如何修改 docker 容器的端口映射!!!...
- 使用Ueditor点击上传图片时显示延迟的问题
- 悲剧,当用cywin 写Linux脚本
- mysql 给表填充数据库_mysql---为测试数据库填充大量数据
- pyQt4导入问题:ImportError: No module named PyQt4
- 36.42. schemata
- springboot毕设项目基于SpringBoot的个人理财系统ibx9h(java+VUE+Mybatis+Maven+Mysql)
- java .jar怎么打开_jar文件怎么打开,教您如何打开jar文件
- 短网址防封的原理是什么?
- aotorun专杀工具(U盘病毒专杀)
- 前缀和计算机相关,网络设置子网掩码和前缀长度计算机应用知识
- 移动硬盘插服务器上坏了,移动硬盘接口坏了怎么办解决教程
- 单片机音频节奏灯_基于单片机的音乐节奏彩灯控制系统设计