C# WPF入门学习主线篇(十)—— DataGrid常见属性和事件
欢迎来到C# WPF入门学习系列的第十篇。在前面的文章中,我们已经学习了 Button
、TextBox
、Label
、ListBox
和 ComboBox
控件。今天,我们将探讨 WPF 中的另一个重要控件——DataGrid
。本文将详细介绍 DataGrid
的常见属性和事件,并通过示例代码展示其在实际应用中的使用。
一、DataGrid的基础知识
DataGrid
是一个非常强大的控件,用于显示和操作表格数据。它允许用户以表格形式查看数据,并支持排序、分组、筛选、编辑等功能。
DataGrid的基本定义
我们先来看看一个简单的 DataGrid
定义:
<Window x:Class="WpfApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid x:Name="myDataGrid" AutoGenerateColumns="True" HorizontalAlignment="Left" VerticalAlignment="Top" Width="500" Height="300"/>
</Grid>
</Window>
在这个示例中,我们定义了一个 DataGrid
控件,并设置了 AutoGenerateColumns
属性为 True
,这意味着列将自动根据数据源生成。
二、DataGrid的常见属性
1. ItemsSource
ItemsSource
属性用于绑定 DataGrid
的数据源。可以是数组、列表或任何实现了 IEnumerable
接口的集合。
<DataGrid x:Name="myDataGrid" AutoGenerateColumns="True" HorizontalAlignment="Left" VerticalAlignment="Top" Width="500" Height="300"/>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
myDataGrid.ItemsSource = new List<Person>
{
new Person {
Name = "John Doe", Age = 30 },
new Person {
Name = "Jane Smith", Age = 25 }
};
}
}
public class Person
{
public string Name {
get; set; }
public int Age {
get; set; }
}
2. AutoGenerateColumns
AutoGenerateColumns
属性决定是否自动生成列。设置为 False
时,需要手动定义列。
<DataGrid x:Name="myDataGrid" AutoGenerateColumns="False" HorizontalAlignment="Left" VerticalAlignment="Top" Width=