在下面提供的XAML中,我有时没有Phone的价值.当发生这种情况时,该值将丢失,但TextBlock仍占用面板中的空间.我想隐藏空TextBlock的东西StackPanel.
这是XAML:
<StackPanel>
<TextBlock Text="{Binding Path=FirstName}" />
<TextBlock Text="{Binding Path=LastName}" />
<TextBlock Text="{Binding Path=Phone}" />
<TextBlock Text="{Binding Path=Email}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
我读过这篇文章,但接受的答案对我不起作用:
<StackPanel>
<TextBlock Text="{Binding Path=FirstName}" />
<TextBlock Text="{Binding Path=LastName}" />
<TextBlock Text="{Binding Path=Phone}">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock Text="{Binding Path=Email}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
我在某个地方犯了错误,或者接受的答案是错的?我该怎么做才能实现目标?
如何检查触发器中的空字符串
<Trigger Property="Source" SourceName="ControlName" Value="">
<Setter Property="Height" Value="0" TargetName="ControlName" />
</Trigger>
Run Code Online (Sandbox Code Playgroud)
如果imageControl的源是空字符串或未设置,我已将控件的高度设置为0?我怎么能这样做,基本上如果没有设置图像,那么我想隐藏模板中的图像控件.
提前致谢.
wpf ×2