c# – WPF – DataGrid仅显示基类的属性

我正在尝试使用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# – 滚动DataGrid时出现InvalidOperationException:绑定表达式已属于BindingGroup


下一篇:c# – WPF Datagrid单击行以打开新页面