我有VM类,其中有三个类A,B和C; B派生自A.我需要在A类中访问一个名为IsAdditional的属性,它是DataTemplate类C中的一个抽象类。
<DataTemplate DataType="{x:Type paper:C_class}">
<TextBlock Visibility="{Binding From, Converter={x:Static c:NullToCollapsedConverter.Instance}}">
<Run Text="{Binding PropFromC_class, Converter={x:Static c:StationConverters.ShortName}, Mode=OneWay}" />
<InlineUIContainer>
//No acces here for IsAdditional
<TextBlock Visibility="{Binding Path=IsAdditional, Converter={StaticResource BoolToVisibilityConverter}}" >
<Run Text="X" />
</TextBlock>
</InlineUIContainer>
</TextBlock>
</DataTemplate>
我已经从B类声明了DataTemplate:
<DataTemplate DataType="{x:Type paper:B_class}">
<InlineUIContainer>
<TextBlock Visibility="{Binding IsAdditional, Converter={StaticResource BoolToVisibilityConverter}}">
<Run Text="X"/>
</TextBlock>
</InlineUIContainer>
</DataTemplate>
答案 0 :(得分:1)
DataTemplate
的{{1}}仅适用于C_class
类型的对象,如果此类或其任何基类中没有定义C_class
属性,则显然无法绑定到这样的属性。
要让IsAdditional
能够知道C_class
中定义的任何属性,A_class
应该来自C_class
。