Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf样式:通过ElementName绑定到子属性_Wpf_Xaml - Fatal编程技术网

Wpf样式:通过ElementName绑定到子属性

Wpf样式:通过ElementName绑定到子属性,wpf,xaml,Wpf,Xaml,我有一个应用程序,它让我可以通过RessourceDictionary更改应用程序主题,这意味着我只能使用纯XAML 现在,我要做的是隐藏一个DockPanel,它没有ElementName,但它有一个子元素,具有x:Name属性 <Style TargetType="DockPanel"> <Setter Property="Visibility" Value="{Binding RelativeSource={RelativeSource Self}, P

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

现在,我要做的是隐藏一个DockPanel,它没有ElementName,但它有一个子元素,具有x:Name属性

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

有了这个密码,我得到了DockPanel的第一个孩子, 但我想将该值绑定到具有唯一ElementName的特定子级

因此,并不是每个DockPanel都会消失,只有一个DockPanel的子元素类型为“TextBox”,元素名为“MyTextBox”


有人知道怎么做吗?谢谢;-)

成功了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>

可能的改进:不要在每个索引中引用文本框,而是遍历childs