【问题标题】:Wpf Style: Binding to Child Property via ElementNameWpf 样式:通过 ElementName 绑定到子属性
【发布时间】:2013-02-20 15:12:25
【问题描述】:

我有一个应用程序,它为我提供了通过 RessourceDictionary 更改应用程序主题的选项,这意味着我只能使用纯 XAML。

现在,我想做的是隐藏一个 DockPanel,它没有 ElementName,但它有一个带有 x:Name 属性的 Child。

<Style TargetType="DockPanel">
         <Setter Property="Visibility" Value="{Binding RelativeSource={RelativeSource Self}, Path=Child.Visibility}"/>
</Style>

通过这段代码,我得到了 DockPanel 的第一个子项, 但我想将该值绑定到具有唯一 ElementName 的特定 Child。

因此,并非每个 DockPanel 都会消失,只有具有 Child 类型的 DockPanel 会消失,例如元素名称为“MyTextBox”的“TextBox”。

任何人有一个想法如何做到这一点?谢谢;-)

【问题讨论】:

    标签: wpf xaml


    【解决方案1】:

    得到它的工作 DockPanel 有一个边框作为父级,使用此代码我可以将此边框的可见性设置为隐藏!

    <Style TargetType="Border">
            <Style.Triggers>
                <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Child.Children[2].Name}"
                             Value="SearchTextBox">
                    <Setter Property="Visibility" Value="Hidden"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    

    可能的改进:不要按索引引用 TextBox,遍历子项...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-15
      • 1970-01-01
      • 2018-06-11
      相关资源
      最近更新 更多