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

在这里插入图片描述

            </TabItem><TabItem Header="Message" /><TabItem Header=" " /><TabItem Header=" "/><TabItem Header=" " /><TabItem Header=" " /><TabItem Header=" " /></TabControl></Grid>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>

运行结果如图所示

WPF--DataGrid控件使用相关推荐

  1. WPF DataGrid控件的使用

    WPF DataGrid控件的使用 下面以一个例子说明DataGrid控件的使用方法: 一.程序框架 使用了MVVM Light框架 二.主要代码部分(使用MVVM Light框架): 1.主窗体xa ...

  2. WPF DataGrid控件样式

    WPF DataGrid控件样式 <DataGrid ItemsSource="{Binding ProductsList}" AutoGenerateColumns=&qu ...

  3. C# WPF DataGrid控件的详细介绍和推荐一些样式设计

    前面介绍过使用DataGrid简单绑定一个数据模型,接着介绍DataGrid的一些详细操作. 参考:C# WPF DataGrid的使用 定制DataGrid控件基本外观属性 RowBackgroun ...

  4. WPF Datagrid控件

    ObservableCollection<Model> Name= new ObservableCollection<Model>();首先以此方式实例化一个集合 ((this ...

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

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

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

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

  7. WPF(5)WPF之DataGrid控件

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

  8. WPF之DataGrid控件使用

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

  9. WPF 自定义DataGrid控件样式

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

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

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

最新文章

  1. 机器学习隐私研究新进展:数据增强风险被低估,新算法“降服”维数依赖
  2. 世界地球日主题班会PPT教学课件模板
  3. centos7 源码安装goaccess
  4. c iostream.源码_通达信指标公式源码精准买卖主图指标公式免费分享
  5. 学生成绩管理系统实验报告_学习60天python成果,Python变成学生成绩管理系统
  6. endnote导致word 2007很慢
  7. 51汇编与c语言混合编程,C51与汇编混合编程详解
  8. 超级人工智能何时能实现?
  9. 全国各省市区城市编码SQL
  10. 时钟屏保fliqlo
  11. MSP430学习笔记(一)--从点灯说起
  12. 天龙八部手游服务器维护公告,天龙八部手游 近期更新维护公告
  13. CCS中调试DM6467高清视频采集(TVP7002输入)
  14. win10远程桌面连接服务器接示内部错误
  15. 李沐-斯坦福《实用机器学习》-01章
  16. 【Scala-spark.mlib】分布式矩阵——分布式计算的基石与利器
  17. 基于JavaWeb实现的城市公交查询系统
  18. python飞机大战碰撞检测_pygame制作飞机大战4——敌机出现、碰撞检测、增加声音、分数记录...
  19. 定义复数java_java定义复数的方法
  20. ICO和IPO的区别

热门文章

  1. 思维导图 旅行者篇(01)世界地图
  2. mt7620a上带机量的提高(一)
  3. 双非本科计算机学生的出路到底在哪里?
  4. 曙光服务器组raid操作
  5. easyUI EasyLoader
  6. 音乐在html中连续播放,怎么让PPT中背景音乐在多个页面中连续播放
  7. DLNU weekly(May 18,2013)解题报告
  8. ubuntu安装Mindmaster(思维导图)
  9. 2022年第十二届APMCM亚太地区大学生数学建模竞赛--思路代码
  10. MySql 添加表或字段的备注信息