从DataTemplate访问另一个属性

时间:2017-05-17 15:05:03

标签: .net wpf xaml data-binding

我有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>

1 个答案:

答案 0 :(得分:1)

DataTemplate的{​​{1}}仅适用于C_class类型的对象,如果此类或其任何基类中没有定义C_class属性,则显然无法绑定到这样的属性。

要让IsAdditional能够知道C_class中定义的任何属性,A_class应该来自C_class

相关问题