Frage

Lassen Sie uns sagen, dass ich ein einfaches Layout wie folgt aussehen:

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

Nun, wenn ich Kurze inhaltliche Beschreibung auf null gesetzt oder leere Zeichenfolge gibt es immer noch eine Lücke anstelle der zweiten Textblock haben. Gibt es eine Eigenschaft einen leeren Textblock von besetzen Raum zu verhindern? Oder sollte ich eine andere Kontrolle?

Danke.

War es hilfreich?

Lösung

Sie möchten die Sichtbarkeit der Textbox auf „Komprimiert“.

Die Sichtbarkeit kann entweder:
Visible - Selbsterklärend
Versteckt - Unsichtbar, aber immer noch nimmt Raum
Collapsed - Unsichtbar und nimmt keinen Platz

Edit: Sie sollten wahrscheinlich einen Auslöser, wie so ein:

<Trigger Property="Text" Value="{x:Null}">
    <Setter Property="Visibility" Value="Collapsed"/>
</Trigger>

Andere Tipps

Sie können sie versuchen:

<TextBlock.Style>
    <Style TargetType="{x:Type TextBlock}">
        <Style.Triggers>
            <Trigger Property="Text" Value="">
                <Setter Property="Visibility" Value="Collapsed"/>
            </Trigger>
        </Style.Triggers>
    </Style>
</TextBlock.Style>

Dies sollte den leeren Raum Problem auf einem Null / leer Bindung beruht beheben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top