Différence entre la visibilité.Collapsed et la visibilité.Hidden

Quelles sont les différences entre Visibility.Collapsed et Visibility.Hidden dans WPF?

La différence est que Visibility.Hidden masque le contrôle, mais réserve l’espace qu’il occupe dans la mise en page. Il rend donc les espaces au lieu du contrôle. Visibilty.Collapsed ne rend pas le contrôle et ne réserve pas les espaces. L’espace que prendrait le contrôle est «réduit», d’où le nom.

Le texte exact de MSDN:

Collapsed : Ne pas afficher l’élément et ne pas réserver d’espace pour lui dans la présentation.

Caché : N’affiche pas l’élément, mais réserve de l’espace pour l’élément dans la mise en page.

Visible : Affiche l’élément.

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

Visibilité: Vs caché effondré

Considérez le code suivant qui ne montre que three Labels et a la deuxième visibility Collapsed tant que Collapsed :

          

Sortie effondrée:

S'est effondré

Hiddden maintenant la deuxième visibility Label en Hiddden .

  

Sortie masquée:

Caché

Aussi simple que cela.

Même si un fil un peu vieux, pour ceux qui recherchent encore les différences:

Mis à part la mise en page (espace) prise dans Caché et non prise dans Collapsed, il y a une autre différence.

Si nous avons des contrôles personnalisés à l’intérieur de ce contrôle principal «Collapsed», la prochaine fois que nous le définirons sur Visible, tous les contrôles personnalisés seront «chargés». Il ne pré-chargera pas au démarrage de la fenêtre.

Comme pour “Caché”, il va charger tous les contrôles personnalisés + le contrôle principal que nous définissons comme cachés au démarrage de la “fenêtre”.