Selon le développement d'applications Windows avec le kit de formation Microsoft .NET 4 70-511
Quelle est la différence entre le Label
contrôle et le TextBlock
contrôle puisque les deux sont des contrôles de contenu et affichent simplement du texte?
Réponses:
TextBlock n'est pas un contrôle
Même s'il
TextBlock
réside dans l'espace de noms System.Windows.Controls, ce n'est pas un contrôle. Il dérive directement deFrameworkElement
. L'étiquette, en revanche, dérive deContentControl
. Cela signifie que celaLabel
peut:Template
propriété).Content
propriété).DataTemplate
à son contenu (via laContentTemplate
propriété).Faites tout ce que vous
ContentControl
pouvez faire qui neFrameworkElement
peut pas.Label
le texte est grisé lorsqu'il est désactivéLabel
prend en charge les clés d'accèsLabel
est beaucoup plus lourd queTextBlock
La source
Quelques lectures plus intéressantes ci-dessous
la source
Les étiquettes prennent généralement en charge la sortie de texte sur une seule ligne, tandis que TextBlock est destiné à l'affichage de texte sur plusieurs lignes.
Par exemple, dans wpf, TextBlock a une propriété
TextWrapping
qui permet une entrée multiligne; L'étiquette n'a pas cela.la source
Label
estContentControl
ce qui signifie que vous pouvez définir n'importe quoi comme contenu pour celui-ci. Absolument tout, y compris les chaînes, les nombres, les dates, les autres contrôles, les images, les formes, etc.TextBlock
ne peut gérer questrings
.la source
Bien que TextBlock et Label soient tous deux utilisés pour afficher du texte, ils sont assez différents sous les couvertures.
=> Label hérite de ContentControl , une classe de base qui permet l'affichage de presque toutes les interfaces utilisateur imaginables.
=> TextBlock , d'autre part, hérite directement de FrameworkElement , manquant ainsi le comportement commun à tous les éléments héritant de Control. La hiérarchie d'héritage peu profonde de TextBlock rend le contrôle plus léger que Label et mieux adapté aux scénarios plus simples et non interactifs.
PS: Cependant, si vous voulez que les touches d'accès fonctionnent ou que vous voulez une conception plus flexible ou graphique, vous devrez utiliser Label.
la source
La fonctionnalité la plus ennuyeuse de
TextBlock
est probablement le comportement de recherche de style implicite, qui est limité au plus procheDataTemplate
. Il s'agit d'un comportement par défaut pour lesControl
éléments non xaml.Rend le résultat de:
Vous pouvez en savoir plus ici .
la source