La différence entre l'Étiquette et TextBlock

selon le développement D'Applications Windows avec Microsoft. NET 4 70-511 Kit de formation

Quelle est la différence entre la commande Label et la commande TextBlock puisque les deux sont des contrôles de contenu et ne font qu'afficher du texte?

106
demandé sur gunr2171 2011-03-21 22:59:10

4 réponses

TextBlock n'est pas un contrôle

même si TextBlock vit dans le système.Windows.Contrôle de l'espace de noms, il n'est pas un contrôle. Il dérive directement de FrameworkElement . Label, d'autre part, dérive de ContentControl . Cela signifie que Label peut:

  1. soit fourni un modèle de contrôle personnalisé (via la propriété Template ).
  2. données D'affichage autres que chaîne (via la propriété Content ).
  3. appliquer un DataTemplate à son contenu (via la propriété ContentTemplate ).
  4. faites tout ce qu'un ContentControl peut faire qu'un FrameworkElement ne peut pas.

    • Label le texte est grisé lorsqu'il est désactivé
    • Label prend en charge les clés d'accès
    • Label est beaucoup plus lourd que TextBlock

Source

un peu plus intéressant lit ci-dessous

176
répondu biju 2017-05-23 11:55:03

Label est ContentControl ce qui signifie que vous pouvez définir n'importe quoi comme un contenu pour elle. Absolument tout ce qui inclut des chaînes, des nombres, des dates, d'autres contrôles, des images, des formes, etc. TextBlock ne peut traiter que strings .

20
répondu Snowbear 2011-03-21 20:08:17
Les étiquettes

prennent généralement en charge la sortie de texte en une seule ligne alors que le texte est bloqué pour l'affichage de texte multiligne.

par exemple, dans WPF TextBlock a une propriété TextWrapping qui permet l'entrée multiligne; Label n'a pas cette propriété.

19
répondu René Bühling 2011-03-21 20:03:22

bien que le texte et L'étiquette soient tous les deux utilisés pour afficher le texte, ils sont très différents sous les couvertures.

= > étiquette hérite de ContentControl , une classe de base qui permet l'affichage de presque n'importe quelle INTERFACE utilisateur imaginables.

= > Textlock , d'autre part, hérite directement de Frameworkkelement , manquant ainsi sur le comportement qui est commun à tous les éléments héritant du contrôle. La hiérarchie peu profonde des héritages de Textlock rend le contrôle plus léger que le Label et mieux adapté à des scénarios simples et non interactifs.

PS: cependant, si vous voulez clés d'accès pour travailler ou si vous voulez un design plus flexible ou graphique, vous aurez besoin d'utiliser L'étiquette.

5
répondu Vinodhini Ramasamy 2015-12-04 08:25:00