我正在尝试用 List<>
填充 DataGrid的多个对象。这些对象都是基类固有的。我成功地显示了 DataGrid 中的列和行,但是我只看到了基类的属性,而没有看到子类的属性。
不幸的是,我在网上搜索时找不到太多有用的信息。但我仍然是 WPF 和 C# 的新手,所以也许这就是问题所在......
如何让 DataGrid 显示基类和子类的所有属性?
编辑:
我有几个继承自 BaseClass 的类(比如 A、B、C),我有一个类型为 List<BaseClass>
的列表其中包含多种类型的多个对象。我需要在我的 DataGrid 中显示所有不同的子类。
最佳答案
<DataGrid ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Prop1}" />
<DataGridTextColumn Binding="{Binding Prop2}" />
</DataGrid.Columns>
</DataGrid>
class Base
{
}
class Derived1: Base
{
public string Prop1 { get; set; }
}
class Derived2: Base
{
public string Prop2 { get; set; }
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.DataContext = new List<Base>()
{
new Derived1(){Prop1 = "Hello"},
new Derived2() {Prop2 = "World"}
};
}
这对我有用。我在第一行看到 Hello,在第二行看到 World。
关于c# - WPF - DataGrid 仅显示基类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5605292/