【发布时间】:2013-12-19 11:12:50
【问题描述】:
我正在尝试将子类属性绑定到 GridViewColumn。 我有一个母类 M1 和 3 个不同的子类 S1、S2 和 S3。 GridViewColumn 填充了 M1 类的对象。 我想在这个 GridViewColumn 的标题上绑定一个在 M1 中没有实现的 S2 的属性。
有人可以向我解释一下该怎么做吗?
编辑:
我有这条线:
<GridViewColumn DisplayMemberBinding="{Binding _s2Attr}" Header="desc" Width="100" />
GridView ItemsSource 填充了 M1 类的对象,但它们都是 S1、S2 或 S3。
【问题讨论】:
-
如果数据上下文的类型是
S3或S1,而不是S2,该怎么办? -
如果它是错误的对象类型,你会得到类似这样的错误:
System.Windows.Data Error: 40 : BindingExpression path error: 'SomeProperty' property not found on 'object' 'S3' (HashCode=3806203)'. BindingExpression:Path=SomeProperty; DataItem='S3' (HashCode=3806203); target element is 'TextBlock' (Name=''); target property is 'NoTarget' (type 'Object')
标签: c# .net wpf data-binding