7

我有一个应用程序,它让我可以选择通过 RessourceDictionary 更改应用程序主题,这意味着我只能使用纯 XAML。

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

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

使用此代码,我得到了 DockPanel 的第一个子项,但我想将该值绑定到具有唯一 ElementName 的特定子项。

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

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

4

1 回答 1

13

得到它的工作 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>

可能的改进:不要引用每个索引的文本框,遍历子...

于 2013-02-21T11:41:32.740 回答