WPF : 공간을 차지하지 않기 위해 빈 텍스트 블록을 만드는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/528525

문제

다음과 같은 간단한 레이아웃이 있다고 가정 해 봅시다.

<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>

이것은 널 / 빈 바인딩을 기반으로 빈 공간 문제를 해결해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top