C# WPF数据网格,绑定包含<;int,object>;。如何显示对象';s的成员?
我最近刚开始使用WPF(.NET4.0),没有使用正确的MVVM 所以我有一个C# WPF数据网格,绑定包含<;int,object>;。如何显示对象';s的成员?,c#,wpf,datagrid,.net-4.0,C#,Wpf,Datagrid,.net 4.0,我最近刚开始使用WPF(.NET4.0),没有使用正确的MVVM 所以我有一个 SortedList<int, Person> SortedList Person是一个拥有公共成员的类:姓名、年龄、地址 我只想在DataGrid中显示Person和Name、Age、Address字段。我到底是怎么做到的?DataContext,ItemSource? 它必须是一个分类列表,因为人员的顺序非常重要 请帮忙,谢谢 请尝试此方法: XAML: 当您将itemsource设置到Sorte
SortedList<int, Person>
SortedList
Person是一个拥有公共成员的类:姓名、年龄、地址
我只想在DataGrid中显示Person和Name、Age、Address字段。我到底是怎么做到的?DataContext,ItemSource?
它必须是一个分类列表,因为人员的顺序非常重要
请帮忙,谢谢 请尝试此方法:
XAML:
当您将
itemsource
设置到SortedList
时,每个项目都将是KeyValuePair
类型,因此您可以获取值
,这将包含您的姓名
、年龄
和地址
属性
<DataGrid AutoGenerateColumns="False">
<DataGridTextColumn Header="Name" Binding="{Binding Path=Value.Name}"/>
<DataGridTextColumn Header="Age" Binding="{Binding Path=Value.Age}"/>
<DataGridTextColumn Header="Address" Binding="{Binding Path=Value.Address}"/>
</DataGrid>
谢谢!很多建议,你和dkozl都知道答案。它起作用了!不客气,我很高兴我是第一个回答。请投我一票。谢谢!如果要改为设置ItemsSource,则无需设置DataContext
private void dataGridInit()
{
SortedList<int, Person> list = new SortedList<int, Person>();
list.Add(2, new Person() {Name = "James", Age = 30, Address = "some place" });
list.Add(1, new Person() { Name = "Kitty", Age = 28, Address = "some place" });
list.Add(3, new Person() { Name = "Deko", Age = 28, Address = "some place" });
dataGrid.DataContext = list;
dataGrid.ItemsSource = list;
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Address { get; set; }
}
<DataGrid AutoGenerateColumns="False">
<DataGridTextColumn Header="Name" Binding="{Binding Path=Value.Name}"/>
<DataGridTextColumn Header="Age" Binding="{Binding Path=Value.Age}"/>
<DataGridTextColumn Header="Address" Binding="{Binding Path=Value.Address}"/>
</DataGrid>