c# - 在 WPF 中设置子项的父属性

标签 c# wpf xaml

我创建了一个状态栏:

    <StatusBar>
        <StatusBarItem >
            <WrapPanel>
                <Image Source="/MyApp;component/Images/icon.png" />
                <TextBlock Name="_StatusbarUser" Text="Username"  />
            </WrapPanel>
        </StatusBarItem>
    </StatusBar>

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

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

   <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>

请帮忙,谢谢

最佳答案

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

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

关于c# - 在 WPF 中设置子项的父属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9599888/

相关文章:

c# - 处理存储库中未找到的对象

c# - AppFabric 缓存 - 非常慢或配置错误?

wpf - 多线程 wpf 窗口中的 Printdialog 抛出 TargetInvocationException

c# - 在图像控件中显示位图值

c# - 将列表数组添加到数据网格列中

c# - WPF 默认按钮未按预期工作

c# - 将流程适配到容器Form中

c# - 如何使功能区控件快速访问工具栏位于 GUI 的顶部?

windows - 是否可以将 Windows Azure Mobile 服务与需要关系数据库的 Windows 8 应用程序一起使用?

c# - Xaml : Nested properties are not supported: DataGridTemplateColumn. 单元格模板。