我正在尝试使用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 来源: https://codeday.me/bug/20190630/1339510.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。