wpf - 基于标签内容的堆栈面板可见性不起作用

标签 wpf xaml

我有一个堆栈面板,我想根据标签的内容使其可见。只是不确定为什么它对我不起作用。以粗体突出显示的内容是我想要隐藏的内容。有什么建议吗?

<StackPanel Orientation="Horizontal">
<Label Nane="lblCarrier" Content="{Binding Path=Carrier}" />
**<StackPanel Orientation="Horizontal">
    <StackPanel.Style>
        <Style TargetType="StackPanel">
            <Setter Property="Visibility" Value="Visible" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding Content, ElementName=lblCarrier}" Value="">
                    <Setter Property="Visibility" Value="Hidden" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </StackPanel.Style>
    <Label x:Name="lblCarrierGrade" Content="Grade Carrier:" />
    <TextBox x:Name="txtCarrierGrade1" />
    <TextBox x:Name="txtCarrierGrade2" />
</StackPanel>**

最佳答案

可能是 Content 为 null,而不是 String.Empty

您可以尝试使用 TargetNullValue

<DataTrigger Binding="{Binding Content, ElementName=lblCarrier,TargetNullValue=''}" Value="">
      <Setter Property="Visibility" Value="Hidden" />
</DataTrigger>

关于wpf - 基于标签内容的堆栈面板可见性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15683895/

相关文章:

wpf - xaml 如何在模板化按钮中居中文本

wpf - 将图表 LegendItem 复选框绑定(bind)到 WPF 中的系列可见性

c# - 尝试使用 Xaml Storyboard同时淡入一个元素并淡出另一个元素时出现错误

xaml - Metro 应用程序中的 ListView 没有垂直滚动条

c# - x :Bind in UWP (Universal Windows Platform)

wpf - 如何使用单独程序集的嵌入图像?

c# - 将数据从属性绑定(bind)到文本 block - MVVM Light 和 WPF

c# - 如何在 app.xaml 中将 datagrid SelectedIndex 设置为 -1

wpf - 如何重构 WPF 中的事件?

c# - Windows Store Multilingual 语言更改