WPF : 공간을 차지하지 않기 위해 빈 텍스트 블록을 만드는 방법은 무엇입니까?
-
22-08-2019 - |
문제
다음과 같은 간단한 레이아웃이 있다고 가정 해 봅시다.
<StackPanel>
<TextBlock Text="{Binding Path=Title}" />
<TextBlock Text="{Binding Path=ShortDescription}" />
<TextBlock Text="{Binding Path=LongDescription}" />
</StackPanel>
이제 ShortDescription이 Null 또는 빈 문자열로 설정되어 있으면 두 번째 TextBlock 대신에도 여전히 간격이 있습니다. 빈 텍스트 블록이 공간을 점유하는 것을 방지하기위한 속성이 있습니까? 아니면 다른 컨트롤을 사용해야합니까?
감사.
해결책
텍스트 상자의 가시성을 "붕괴"로 설정하려고합니다.
가시성은 다음 중 하나 일 수 있습니다.
가시적 - 자기 설명
숨겨진 - 보이지 않지만 여전히 공간을 차지합니다
무너진 - 보이지 않으며 공간을 차지하지 않습니다
편집 : 아마도 트리거를 설정해야 할 것입니다.
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>
다른 팁
이것을 시도하고 싶을 수도 있습니다.
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="Text" Value="">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
이것은 널 / 빈 바인딩을 기반으로 빈 공간 문제를 해결해야합니다.
제휴하지 않습니다 StackOverflow