Подтвердить что ты не робот

WPF: Как сделать пустой TextBlock не занимать пространство?

Скажем, что у меня есть простой макет, например:

<StackPanel>
  <TextBlock Text="{Binding Path=Title}" />
  <TextBlock Text="{Binding Path=ShortDescription}" />
  <TextBlock Text="{Binding Path=LongDescription}" />
</StackPanel>

Теперь, когда у меня есть ShortDescription, установленный в нулевую или пустую строку, все еще есть пробел вместо второго TextBlock. Есть ли какое-то свойство, чтобы предотвратить пустое текстовое поле от занимаемого пространства? Или я должен использовать какой-то другой элемент управления?

Спасибо.

4b9b3361

Ответ 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.