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