Frage

Was sind Unterschiede zwischen Visibility.Collapsed und Visibility.Hidden in WPF?

War es hilfreich?

Lösung

Der Unterschied besteht darin, dass Visibility.Hidden die Kontrolle versteckt, behält sich aber der Raum es im Layout einnimmt. So macht es Leerzeichen anstelle der Steuerung. Visibilty.Collapsed gibt nicht das Steuer und nicht das Leerzeichen reservieren. Der Raum der Kontrolle würde sich ‚zusammengebrochen‘, daher der Name.

Der genaue Text aus dem MSDN:

  

Komprimiert . Setzen Sie das Element nicht angezeigt werden, und dies nicht tut Reserveraum für sie in dem Layout

     

Versteckt . Setzen Sie das Element nicht angezeigt, sondern Reserveraum für das Element in dem Layout

     

Visible . Zeigen Sie das Element

Siehe auch: http://msdn.microsoft.com/ en-us / library / system.windows.visibility.aspx

Andere Tipps

Sichtbarkeit: Verdeckt Vs Komprimiert

Betrachten Sie folgenden Code, der zeigt nur three Labels und hat zweiten Label visibility als Collapsed:

 <StackPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Center">
    <StackPanel.Resources>
        <Style TargetType="Label">
            <Setter Property="Height" Value="30" />
            <Setter Property="Margin" Value="0"/>
            <Setter Property="BorderBrush" Value="Black"/>
            <Setter Property="BorderThickness" Value="1" />
        </Style>
    </StackPanel.Resources>
    <Label Width="50" Content="First"/>
    <Label Width="50" Content="Second" Visibility="Collapsed"/>
    <Label Width="50" Content="Third"/>
</StackPanel>

Ausgabe Komprimiert:

Komprimiert „ loading=

Sie nun die zweite Label visibility ändern Hiddden.

<Label Width="50" Content="Second" Visibility="Hidden"/>

Ausgabe Verborgen:

Hidden „ loading=

So einfach wie das.

Auch wenn ein bisschen alter Thread, für diejenigen, die nach wie vor für die Unterschiede suchen:

Neben Layout (Raum) in Hidden genommen und nicht in Komprimiert genommen, es ist ein weiterer Unterschied.

Wenn wir benutzerdefinierte Steuerelemente innerhalb dieses ‚Komprimiert‘ Haupt-Kontrolle, das nächste Mal haben wir es sichtbar, wird es „load“ alle benutzerdefinierten Kontrollen. Es wird nicht vorladen, wenn Fenster gestartet wird.

Wie für Verborgene, wird es alle benutzerdefinierten Steuerelemente + Hauptsteuer laden, die wir als versteckte gesetzt, wenn das „Fenster“ gestartet wird.

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