wpf datagrid数据绑定到类
时间: 2023-05-24 21:04:25 浏览: 333
wpf数据绑定
首先,需要定义一个类来表示数据表的行。属性名称应该与数据表中的列名匹配。
例如,如果有一个包含姓名、年龄和邮箱地址的数据表,可以定义一个包含这些属性的类:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Email { get; set; }
}
```
然后,在WPF应用程序中,需要使用DataGrid控件来显示这些数据。要将数据绑定到DataGrid中,请执行以下步骤:
1.在XAML中定义DataGrid控件:
```xml
<DataGrid Name="dgPersons" AutoGenerateColumns="True" />
```
2.在代码中创建一个List<Person>对象,并将其作为DataGrid的数据源:
```csharp
List<Person> persons = new List<Person>();
persons.Add(new Person { Name = "John Doe", Age = 30, Email = "johndoe@example.com" });
persons.Add(new Person { Name = "Jane Smith", Age = 25, Email = "janesmith@example.com" });
dgPersons.ItemsSource = persons;
```
这将使用AutoGenerateColumns属性自动创建DataGrid的列,并将数据绑定到DataGrid中。
如果需要更细粒度地控制列的外观和行为,则需要手动定义列。例如,以下代码创建一个DataGridTextColumn,用于显示姓名列:
```xml
<DataGrid Name="dgPersons">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Header="Age" Binding="{Binding Age}" />
<DataGridTextColumn Header="Email" Binding="{Binding Email}" />
</DataGrid.Columns>
</DataGrid>
```
在此示例中,每个DataGridTextColumn的Binding属性都使用DataGrid的数据源中的属性来绑定到列中。请注意,由于属性名称与列名称相同,因此无需指定路径。
阅读全文