WPF: Как сделать пустой TextBlock не занимать пространство?
Скажем, что у меня есть простой макет, например:
<StackPanel>
<TextBlock Text="{Binding Path=Title}" />
<TextBlock Text="{Binding Path=ShortDescription}" />
<TextBlock Text="{Binding Path=LongDescription}" />
</StackPanel>
Теперь, когда у меня есть ShortDescription, установленный в нулевую или пустую строку, все еще есть пробел вместо второго TextBlock. Есть ли какое-то свойство, чтобы предотвратить пустое текстовое поле от занимаемого пространства? Или я должен использовать какой-то другой элемент управления?
Спасибо.
Ответы
Ответ 1
Вы хотите установить видимость текстового поля в "Свернутый".
Видимость может быть:
Видимый - Самоочевидный
Скрытый - Невидимый, но все еще занимает место
Свернуто - невидимо и не занимает места
Изменить: вы должны, вероятно, настроить триггер, например:
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>
Ответ 2
Вы можете попробовать следующее:
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="Text" Value="">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
Это должно исправить проблему с пустым пространством на основе Null/Empty Binding.