系列文章目录

WPF(1)WPF工程创建
WPF(2)WPF之Image组件
WPF(3)WPF之Button组件


文章目录

  • 系列文章目录
  • 前言
  • 一、DataGrid入门?
    • 1.1 CanUserAddRows属性
    • 1.2 Grid 中的多余的空列
  • 二、DataGrid列
    • 2.1 DataGridTextColumn
      • 2.1.1 AutoGenerateColumns属性
    • 2.2 DataGridCheckBoxColumn
    • 2.3 DataGridComboBoxColumn
    • 2.4 DataGridHyperlinkColumn
      • 2.4.1 值转化
    • 2.5 DataGridTemplateColumn
  • 总结

前言

在开发中我们经常使用图表的方式来展示大量的数据,类似于数据库中的数据形式或者说就像我们常用的Excle表。每一行数据就是一个整体。


一、DataGrid入门?

DataGrid使用时比较方便的。

前台代码如下:

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"mc:Ignorable="d"Title="MainWindow" Height="180" Width="300"><Grid Margin="10"><DataGrid x:Name="TestDataGrid"></DataGrid></Grid>
</Window>

后台代码:

using System.Collections.Generic;
using System.Windows;namespace WPF005_DataGrid
{public class Student{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }}/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();List<Student> studentList = new List<Student>();studentList.Add(new Student { Id = 1, Name = "John Doe", Age = 19 });studentList.Add(new Student { Id = 2, Name = "Jane Doe", Age = 18 });studentList.Add(new Student { Id = 3, Name = "Marry Doe", Age = 21 });studentList.Add(new Student { Id = 4, Name = "Kang Doe", Age = 17 });TestDataGrid.ItemsSource = studentList;}}
}

效果如下:

每一个单元格时可以编辑的,在最后的空行也是可以编辑的,双击即可编辑。编辑完成后,DataGrid会自动再添加一行空行。

1.1 CanUserAddRows属性

CanUserAddRows:用户可以添加行么?默认值是True,表示的是允许用户添加一行数据。当False的时候,表格中最后一行空行将会消失。

前台代码如下(示例):

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"mc:Ignorable="d"Title="MainWindow" Height="180" Width="300"><Grid Margin="10"><DataGrid x:Name="TestDataGrid" CanUserAddRows="False"></DataGrid></Grid>
</Window>

后台代码同上:

效果如下:

1.2 Grid 中的多余的空列

细心的小伙伴会发现上图中最后一列是空列,没有数据,但是会有横线。其实这不是真正意义上的空列只是这个表格被水拉伸二产生的问题,如果你想清除掉,只需要设置HorizontalAlignment属性即可。

代码如下(示例):

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"mc:Ignorable="d"Title="MainWindow" Height="180" Width="300"><Grid Margin="10"><DataGrid x:Name="TestDataGrid" CanUserAddRows="False" HorizontalAlignment="Center"></DataGrid></Grid>
</Window>

效果如下:

二、DataGrid列

在实际开发中,我们从后台请求过来的数据可能并不想完全展示,但是以上的方式就会把所有的数据展示出来。为了解决这个问题,我们通过Columns来控制我们需要的列。
截止到2022年4月9日有以下几种类型可用:
DataGridTextColumn
DataGridCheckBoxColumn
DataGridComboBoxColumn
DataGridHyperlinkColumn
DataGridTemplateColumn

2.1 DataGridTextColumn

还是上面的案例,我们只显示Name列

前台代码修改如下(示例):

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"mc:Ignorable="d"Title="MainWindow" Height="180" Width="300"><Grid Margin="10"><DataGrid x:Name="TestDataGrid" CanUserAddRows="False" HorizontalAlignment="Center"><DataGrid.Columns><DataGridTextColumn Header="Name" Binding="{Binding Name}" /></DataGrid.Columns></DataGrid></Grid>
</Window>

效果如下:


貌似在之前表基础上最前方插入Name列。违背我们纯情程序员的意愿,这就是违规。所以我们就要约束。接下来继续看AutoGenerateColumns属性

2.1.1 AutoGenerateColumns属性

AutoGenerateColumns属性是表示自动生成列属性。默认值是False
当值为True根据数据源中每一个对象的字段自动生成列。

<DataGrid.Columns><DataGridTextColumn Header="Name" Binding="{Binding Name}" />
</DataGrid.Columns>

如果通过上述方式显示写出来,那么就会将这种方式在表的第0列默认进行插入操作,也就出现了上面的问题。因此我们会将此属性设置为False。从而来只显示我们需要他现实的内容。

修改上述前端代码如下:

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"mc:Ignorable="d"Title="MainWindow" Height="180" Width="300"><Grid Margin="10"><DataGrid x:Name="TestDataGrid" CanUserAddRows="False" HorizontalAlignment="Center" AutoGenerateColumns="False"><DataGrid.Columns><DataGridTextColumn Header="Name" Binding="{Binding Name}" /></DataGrid.Columns></DataGrid></Grid>
</Window>

效果如下:

2.2 DataGridCheckBoxColumn

此类型是用来表是用户当前对数据的操作状态:选中或未选中。

修改前端代码如下:

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"mc:Ignorable="d"Title="MainWindow" Height="180" Width="300"><Grid Margin="10"><DataGrid x:Name="TestDataGrid" CanUserAddRows="False" HorizontalAlignment="Center" AutoGenerateColumns="False"><DataGrid.Columns><DataGridCheckBoxColumn Header="状态" Binding="{Binding IsSelect}" /><DataGridTextColumn Header="姓名" Binding="{Binding Name}" /></DataGrid.Columns></DataGrid></Grid>
</Window>

修改后台代码如下:

using System.Collections.Generic;
using System.Windows;namespace WPF005_DataGrid
{public class Student{public int Id { get; set; }public bool IsSelect { get; set; }public string Name { get; set; }public int Age { get; set; }}/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();List<Student> studentList = new List<Student>();studentList.Add(new Student { Id = 1,IsSelect = false, Name = "John Doe", Age = 19 });studentList.Add(new Student { Id = 2,IsSelect = false, Name = "Jane Doe", Age = 18 });studentList.Add(new Student { Id = 3, IsSelect = true, Name = "Marry Doe", Age = 21 });studentList.Add(new Student { Id = 4, IsSelect = false, Name = "Kang Doe", Age = 17 });TestDataGrid.ItemsSource = studentList;}}
}

效果如下:

2.3 DataGridComboBoxColumn

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"xmlns:core="clr-namespace:System;assembly=mscorlib"mc:Ignorable="d"Title="MainWindow" Height="180" Width="400"><Window.Resources><ObjectDataProvider x:Key="SexHobbyKey" MethodName="GetValues" ObjectType="{x:Type core:Enum}"><ObjectDataProvider.MethodParameters><x:Type Type="local:HobbyType"/></ObjectDataProvider.MethodParameters></ObjectDataProvider></Window.Resources><Grid Margin="10"><DataGrid Name="TestDataGrid" CanUserAddRows="False" HorizontalAlignment="Center" AutoGenerateColumns="False"><DataGrid.Columns><DataGridCheckBoxColumn Header="状态" Binding="{Binding IsSelect}" /><DataGridTextColumn Header="姓名" Binding="{Binding Name}" /><DataGridComboBoxColumn Header="爱好"  SelectedItemBinding="{Binding Hobby}" ItemsSource="{Binding Source={StaticResource SexHobbyKey}}" /></DataGrid.Columns></DataGrid></Grid>
</Window>

前台代码中新增了一个窗口资源

    <Window.Resources><ObjectDataProvider x:Key="SexHobbyKey" MethodName="GetValues" ObjectType="{x:Type core:Enum}"><ObjectDataProvider.MethodParameters><x:Type Type="local:HobbyType"/></ObjectDataProvider.MethodParameters></ObjectDataProvider></Window.Resources>

编辑完成后如果出现

<x:Type Type="local:HobbyType"/>

这行代码下的波浪线。错误提示:命名空间"clr-namespace:WPF005_DataGrid"中不存在"HobbyType"名称。建议重新生成,如果还有,重启VS即可。

】记得在自己的工程中引入下面的命名空间

xmlns:core="clr-namespace:System;assembly=mscorlib"

后台代码:

后台代码中新增了枚举类型HobbyType
在Student类中增加了Hobby属性

using System.Collections.Generic;
using System.Windows;namespace WPF005_DataGrid
{public class Student{public int Id { get; set; }public bool IsSelect { get; set; }public string Name { get; set; }public int Age { get; set; }public HobbyType Hobby { get; set; }}public enum HobbyType{Basketball,FootBall,TableTennis}/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();List<Student> studentList = new List<Student>();studentList.Add(new Student { Id = 1,IsSelect = false, Name = "John Doe", Age = 19,Hobby= HobbyType.Basketball });studentList.Add(new Student { Id = 2,IsSelect = false, Name = "Jane Doe", Age = 18, Hobby = HobbyType.Basketball });studentList.Add(new Student { Id = 3, IsSelect = true, Name = "Marry Doe", Age = 21, Hobby = HobbyType.Basketball });studentList.Add(new Student { Id = 4, IsSelect = false, Name = "Kang Doe", Age = 17, Hobby = HobbyType.Basketball });TestDataGrid.ItemsSource = studentList;}}
}

效果如下:

2.4 DataGridHyperlinkColumn

前端代码:

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"xmlns:core="clr-namespace:System;assembly=mscorlib"mc:Ignorable="d"Title="MainWindow" Height="250" Width="500"><Window.Resources><ObjectDataProvider x:Key="SexHobbyKey" MethodName="GetValues" ObjectType="{x:Type core:Enum}"><ObjectDataProvider.MethodParameters><x:Type Type="local:HobbyType"/></ObjectDataProvider.MethodParameters></ObjectDataProvider></Window.Resources><Grid Margin="10"><DataGrid Name="TestDataGrid" CanUserAddRows="False" HorizontalAlignment="Center" AutoGenerateColumns="False"><DataGrid.Columns><DataGridCheckBoxColumn Header="状态" Binding="{Binding IsSelect}" Width="40"/><DataGridTextColumn Header="姓名" Binding="{Binding Name}" Width="60" /><DataGridComboBoxColumn Header="爱好"  SelectedItemBinding="{Binding Hobby}" ItemsSource="{Binding Source={StaticResource SexHobbyKey}}" Width="80" /><DataGridHyperlinkColumn Header="电子邮箱" Binding="{Binding Email}"  ContentBinding="{Binding Email}" Width="150" /></DataGrid.Columns></DataGrid></Grid>
</Window>

后台代码:

using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Data;namespace WPF005_DataGrid
{public enum HobbyType{Basketball,FootBall,TableTennis}public class Student{public int Id { get; set; }public bool IsSelect { get; set; }public string Name { get; set; }public int Age { get; set; }public HobbyType Hobby { get; set; }public string Email { get; set; }}/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();List<Student> studentList = new List<Student>();studentList.Add(new Student { Id = 1, IsSelect = false, Name = "John Doe", Age = 19, Hobby = HobbyType.Basketball, Email = "1234567@qq.com" });studentList.Add(new Student { Id = 2, IsSelect = false, Name = "Jane Doe", Age = 18, Hobby = HobbyType.Basketball, Email = "1234567@qq.com" });studentList.Add(new Student { Id = 3, IsSelect = true, Name = "Marry Doe", Age = 21, Hobby = HobbyType.Basketball, Email = "1234567@qq.com" });studentList.Add(new Student { Id = 4, IsSelect = false, Name = "Kang Doe", Age = 17, Hobby = HobbyType.Basketball, Email = "1234567@qq.com" });TestDataGrid.ItemsSource = studentList;}}

效果如下:

2.4.1 值转化

我们发现在邮箱一栏中都是QQ邮箱,那么客户想得到QQ号信息的那么我们可以通过值转化来完成。

前端代码:

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"xmlns:core="clr-namespace:System;assembly=mscorlib"mc:Ignorable="d"Title="MainWindow" Height="250" Width="500"><Window.Resources><ObjectDataProvider x:Key="SexHobbyKey" MethodName="GetValues" ObjectType="{x:Type core:Enum}"><ObjectDataProvider.MethodParameters><x:Type Type="local:HobbyType"/></ObjectDataProvider.MethodParameters></ObjectDataProvider><local:EmailConverter x:Key="EmailConverter" /></Window.Resources><Grid Margin="10"><DataGrid Name="TestDataGrid" CanUserAddRows="False" HorizontalAlignment="Center" AutoGenerateColumns="False"><DataGrid.Columns><DataGridCheckBoxColumn Header="状态" Binding="{Binding IsSelect}" Width="40"/><DataGridTextColumn Header="姓名" Binding="{Binding Name}" Width="60" /><DataGridComboBoxColumn Header="爱好"  SelectedItemBinding="{Binding Hobby}" ItemsSource="{Binding Source={StaticResource SexHobbyKey}}" Width="80" /><DataGridHyperlinkColumn Header="QQ" Binding="{Binding Email}"  ContentBinding="{Binding Email, Converter={StaticResource EmailConverter}}" Width="200" /></DataGrid.Columns></DataGrid></Grid>
</Window>

前端代码在窗口资源中添加了新的资源

<local:EmailConverter x:Key="EmailConverter" />

同时修改了邮箱列为内容如下

<DataGridHyperlinkColumn Header="QQ" Binding="{Binding Email}"  ContentBinding="{Binding Email, Converter={StaticResource EmailConverter}}" Width="200" />

后台代码:

using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Data;namespace WPF005_DataGrid
{public enum HobbyType{Basketball,FootBall,TableTennis}public class Student{public int Id { get; set; }public bool IsSelect { get; set; }public string Name { get; set; }public int Age { get; set; }public HobbyType Hobby { get; set; }public string Email { get; set; }}/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();List<Student> studentList = new List<Student>();studentList.Add(new Student { Id = 1, IsSelect = false, Name = "John Doe", Age = 19, Hobby = HobbyType.Basketball, Email = "1234567@qq.com" });studentList.Add(new Student { Id = 2, IsSelect = false, Name = "Jane Doe", Age = 18, Hobby = HobbyType.Basketball, Email = "1234567@qq.com" });studentList.Add(new Student { Id = 3, IsSelect = true, Name = "Marry Doe", Age = 21, Hobby = HobbyType.Basketball, Email = "1234567@qq.com" });studentList.Add(new Student { Id = 4, IsSelect = false, Name = "Kang Doe", Age = 17, Hobby = HobbyType.Basketball, Email = "1234567@qq.com" });TestDataGrid.ItemsSource = studentList;}}public class EmailConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){if (value != null){string email = value.ToString();int index = email.IndexOf("@");string alias = email.Substring(0, index);return alias;}else{string email = "";return email;}}public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){Uri email = new Uri((string)value);return email;}}
}

在后台代码中 添加了新类

public class EmailConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){if (value != null){string email = value.ToString();int index = email.IndexOf("@");string alias = email.Substring(0, index);return alias;}else{string email = "";return email;}}public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){Uri email = new Uri((string)value);return email;}

该类的Convert 方法将QQ邮箱中的内容提取QQ信息

效果如下:

2.5 DataGridTemplateColumn

如何在表格中添加按钮呢?这个时候DataGridTemplateColumn就排上用场了。
在DataGridTemplateColumn中我们可以定义我们想要的格式。

例如图片

<DataGridTemplateColumn Header="图形/块" Width="200"><DataGridTemplateColumn.CellTemplate><DataTemplate><Image Width="30" Height="30" Source="{Binding ImgPath}"/></DataTemplate></DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

例如文本信息

<DataGridTemplateColumn Header="偏移量" Width="200"><DataGridTemplateColumn.CellTemplate><DataTemplate><Label Content="{Binding Offset}"/></DataTemplate></DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

当然你可以根据自己需求定制其他的内容
下面示例展示的是按钮

前台代码如下:

<Window x:Class="WPF005_DataGrid.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPF005_DataGrid"xmlns:core="clr-namespace:System;assembly=mscorlib"mc:Ignorable="d"Title="MainWindow" Height="250" Width="600"><Window.Resources><ObjectDataProvider x:Key="SexHobbyKey" MethodName="GetValues" ObjectType="{x:Type core:Enum}"><ObjectDataProvider.MethodParameters><x:Type Type="local:HobbyType"/></ObjectDataProvider.MethodParameters></ObjectDataProvider><local:EmailConverter x:Key="EmailConverter" /></Window.Resources><Grid Margin="10"><DataGrid Name="TestDataGrid" CanUserAddRows="False" HorizontalAlignment="Center" AutoGenerateColumns="False"><DataGrid.Columns><DataGridCheckBoxColumn Header="状态" Binding="{Binding IsSelect}" Width="40"/><DataGridTextColumn Header="姓名" Binding="{Binding Name}" Width="60" /><DataGridComboBoxColumn Header="爱好"  SelectedItemBinding="{Binding Hobby}" ItemsSource="{Binding Source={StaticResource SexHobbyKey}}" Width="80" /><DataGridHyperlinkColumn Header="QQ" Binding="{Binding Email}"  ContentBinding="{Binding Email, Converter={StaticResource EmailConverter}}" Width="200" /><!--<DataGridHyperlinkColumn Header="电子邮箱" Binding="{Binding Email}"  ContentBinding="{Binding Email}" Width="150" />--><DataGridTemplateColumn Header="操作" Width="100"><DataGridTemplateColumn.CellTemplate><DataTemplate><Button Width="60" Height="30" Content="编辑"/></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns></DataGrid></Grid>
</Window>

效果如下:


总结

好了,本篇文章在不在啰嗦了!已经19000多个字了!如果您感觉OK记得点赞、关注、转发!谢谢!
以上就是今天要讲的有关DataGrid控件的内容,若有不足,望大佬能够给予批评与修正!

WPF(5)WPF之DataGrid控件相关推荐

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

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

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

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

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

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

  4. WPF之DataGrid控件使用

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

  5. WPF 自定义DataGrid控件样式

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

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

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

  7. WPF中DataGrid控件

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

  8. WPF DataGrid控件的使用

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

  9. WPF DataGrid控件样式

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

最新文章

  1. oracle实例包括用户进程吗,ORACLE实例和ORACLE数据库详解(三)
  2. php和python哪个做第二语言-php之后如何选择第二语言?
  3. 2.QT中使用资源文件,程序打包
  4. asp.net之request获取数据
  5. oracle中取反_oracle正则表达式regexp_like的用法详解
  6. php怎样查看视频播放的进度条,H5中视频与音频标签和进度条如何使用
  7. MySQL表的操作(二)
  8. 这家大厂手机业务也凉了 改做手表?官方回应让人放心了...
  9. 不懂函数式?用mobx来写react应用吧
  10. 在linux桌面上显示图标
  11. 医药行业进销存软件 零售药店管理软件
  12. 【ExtJS6开发日记(一)】——Chart类型无法加载,及ExtJS中出现requires无法加载情况的统一说明
  13. K8S故障排查指南- but volume paths are still present on disk
  14. C++Primer_Chap16_模板和泛型编程_List01_定义模板_笔记
  15. w ndows10输入法设置,Win10输入法设置技巧:切换输入法
  16. macOS安装homebrew与更新gcc
  17. Linux 下的dd命令使用详解以及dd if=/dev/zero of=的含义
  18. 1.IEC 62056-21 E模式通信
  19. Inventor(C#)开发学习小结——入门篇
  20. 批量导出数据库中的表

热门文章

  1. oracle中的分隔函数,Oracle中的split字符串分割函数
  2. 【c++】注册OCX控件
  3. 使用HTML5和jQuery插件Quicksand实现一个超酷的星际争霸2兵种分类展示效果
  4. 查询结果按照数量排序,并且将某条记录固定放到最后一行
  5. JAVA毕业设计O2O生鲜果蔬电商设计与实现计算机源码+lw文档+系统+调试部署+数据库
  6. Cox回归列线图(Nomogram)绘制过程
  7. R绘制Nomogram图的学习笔记
  8. Atlas 200 DK 环境配置,踩坑与学习记录
  9. 华为Atlas200DK开发从零开始1.番外篇——Win10开发环境搭建,直连Atlas200DK开发板
  10. 剪映中如何实现镜头自动跟踪效果