在 WPF 中从子项设置父属性

Agu*_*oho 5 c# wpf xaml

我创建了一个状态栏:

    <StatusBar>
        <StatusBarItem >
            <WrapPanel>
                <Image Source="/MyApp;component/Images/icon.png" />
                <TextBlock Name="_StatusbarUser" Text="Username"  />
            </WrapPanel>
        </StatusBarItem>
    </StatusBar>
Run Code Online (Sandbox Code Playgroud)

如何创建触发器,当我将文本块可见性设置为折叠时,它还会触发父状态栏的可见性。

我尝试使用下面的样式,但没有用

   <StatusBar Grid.Row="2" Name="_Statusbar">
        <StatusBar.Resources>
            <Style TargetType="{x:Type StatusBarItem}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type TextBlock}}, Path=Visibility}" Value="Collapsed">
                        <Setter Property="Visibility" Value="Collapsed"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </StatusBar.Resources>
        <StatusBarItem>
            <WrapPanel>
                <Image  Source="/MyApp;component/Images/icon.png" />
                <TextBlock Name="_StatusbarUser" Text="Username" />
            </WrapPanel>
        </StatusBarItem>
    </StatusBar>
Run Code Online (Sandbox Code Playgroud)

请帮忙,谢谢

LPL*_*LPL 4

更好地将父属性绑定到子属性:

<StatusBar>
    <StatusBarItem Visibility="{Binding ElementName=_StatusbarUser, Path=Visibility}">
        <WrapPanel>
            <Image Source="/MyApp;component/Images/icon.png" />
            <TextBlock Name="_StatusbarUser" Text="Username" />
        </WrapPanel>
    </StatusBarItem>
</StatusBar>
Run Code Online (Sandbox Code Playgroud)