313 Stimmen

Unterschied zwischen Visibility.Collapsed und Visibility.Hidden

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

463voto

Razzie Punkte 30442

Der Unterschied besteht darin, dass Visibility.Hidden die Steuerung verbirgt, aber den Platz, den sie im Layout einnimmt, reserviert. Es rendert also Leerzeichen anstelle der Steuerung. Visibility.Collapsed rendert die Steuerung nicht und reserviert nicht den Platz für Leerzeichen. Der Platz, den die Steuerung einnehmen würde, wird "zusammengebrochen", daher der Name.

Der genaue Text von der MSDN:

Collapsed: Das Element wird nicht angezeigt und es wird auch kein Platz dafür im Layout reserviert.

Hidden: Das Element wird nicht angezeigt, aber Platz für das Element im Layout wird reserviert.

Visible: Das Element wird angezeigt.

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

65voto

Kylo Ren Punkte 8048

Sichtbarkeit : Versteckt Vs Zusammengeklappt

Betrachten Sie den folgenden Code, der nur drei Labels zeigt und das zweite Label mit der Sichtbarkeit als Zusammengeklappt hat:

            <Setter Property="Height" Value="30" />
            <Setter Property="Margin" Value="0"/>
            <Setter Property="BorderBrush" Value="Black"/>
            <Setter Property="BorderThickness" Value="1" />

Ausgabe Zusammengeklappt:

Zusammengeklappt

Ändern Sie jetzt die Sichtbarkeit des zweiten Labels zu Versteckt.

Ausgabe Versteckt:

Versteckt

Ganz einfach.

7voto

scsfdev Punkte 333

Auch wenn der Thread ein wenig alt ist, für diejenigen, die immer noch nach den Unterschieden suchen:

Abgesehen von dem Layout (Platz), der im Verborgenen eingenommen wird und im Zusammengeklappten nicht, gibt es einen weiteren Unterschied.

Wenn wir benutzerdefinierte Steuerelemente innerhalb dieses Hauptsteuerelements 'Zusammengeklappt' haben, werden beim nächsten Mal, wenn wir es auf Sichtbar setzen, alle benutzerdefinierten Steuerelemente "geladen". Es wird nicht vorgeladen, wenn das Fenster gestartet wird.

Was das 'Verborgene' betrifft, werden alle benutzerdefinierten Steuerelemente + Hauptsteuerelement geladen, die wir als versteckt festgelegt haben, wenn das "Fenster" gestartet wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X