Windows应用商店应用程序集基于子控件内容的TextBlock可见性

时间:2013-11-22 19:38:00

标签: wpf xaml windows-store-apps

我想根据子项是否有值来设置TextBlock的可见性。我怎么能做到这一点?

<TextBlock Visibility="{Binding RelativeSource={RelativeSource Self}, 
Path=Child[1].Text, Converter={StaticResource visiblityConverter}}" 
Style="{StaticResource BodyTextStyle}"  Margin="2,1,1,1" >
  <Bold xml:space="preserve">Player 2: </Bold>
  <Run Text="{Binding Player2Name}" />
</TextBlock>

感谢。

1 个答案:

答案 0 :(得分:2)

TextBlocknot a panel,因此它没有您可以绑定的任何Child属性。

相反,您应该使用ElementName进行绑定。将x:Name提供给Run并像这样绑定 -

<TextBlock Visibility="{Binding Path=Text, ElementName=runText,
                          Converter={StaticResource visiblityConverter}}">
    <Bold xml:space="preserve">Player 2: </Bold>
    <Run x:Name="runText" Text="{Binding Player2Name}" />
</TextBlock>