Gemäß der Windows-Anwendungsentwicklung mit Microsoft .NET 4 70-511 Training Kit
Was ist der Unterschied zwischen dem Label
Steuerelement und dem TextBlock
Steuerelement, da beide Inhaltssteuerelemente sind und nur Text anzeigen?
Gemäß der Windows-Anwendungsentwicklung mit Microsoft .NET 4 70-511 Training Kit
Was ist der Unterschied zwischen dem Label
Steuerelement und dem TextBlock
Steuerelement, da beide Inhaltssteuerelemente sind und nur Text anzeigen?
Antworten:
TextBlock ist kein Steuerelement
Obwohl es sich
TextBlock
im System.Windows.Controls-Namespace befindet, handelt es sich nicht um ein Steuerelement. Es leitet sich direkt von abFrameworkElement
. Label hingegen leitet sich von abContentControl
. Dies bedeutet, dassLabel
:Template
Eigenschaft).Content
Eigenschaft).DataTemplate
auf seinen Inhalt an (über dieContentTemplate
Eigenschaft).Tun Sie, was auch immer Sie
ContentControl
können,FrameworkElement
was Sie nicht können.Label
Text ist ausgegraut, wenn deaktiviertLabel
unterstützt ZugriffsschlüsselLabel
ist viel schwerer alsTextBlock
Quelle
Einige weitere interessante Lektüren weiter unten
quelle
Beschriftungen unterstützen normalerweise die einzeilige Textausgabe, während der TextBlock für die mehrzeilige Textanzeige vorgesehen ist.
Zum Beispiel hat TextBlock in wpf eine Eigenschaft,
TextWrapping
die eine mehrzeilige Eingabe ermöglicht. Label hat dies nicht.quelle
Label
ist ,ContentControl
was bedeutet , dass Sie etwas als Inhalt für sie einstellen können. Absolut alles, einschließlich Zeichenfolgen, Zahlen, Datumsangaben, andere Steuerelemente, Bilder, Formen usw.,TextBlock
kann nur verarbeitet werdenstrings
.quelle
Obwohl TextBlock und Label beide zum Anzeigen von Text verwendet werden, unterscheiden sie sich unter den Deckblättern erheblich.
=> Label erbt von ContentControl , einer Basisklasse, die die Anzeige nahezu aller vorstellbaren Benutzeroberflächen ermöglicht.
=> TextBlock hingegen erbt direkt von FrameworkElement und verpasst so das Verhalten, das allen von Control geerbten Elementen gemeinsam ist. Durch die flache Vererbungshierarchie von TextBlock ist das Steuerelement leichter als Label und besser für einfachere, nicht interaktive Szenarien geeignet.
PS: Wenn Sie jedoch möchten, dass Zugriffstasten funktionieren oder ein flexibleres oder grafischeres Design wünschen, müssen Sie Label verwenden.
quelle
Das wahrscheinlich nervigste Merkmal
TextBlock
ist das implizite Verhalten bei der Suche nach Stilen, das nur auf den nächsten Bereich beschränkt istDataTemplate
. Dies ist ein Standardverhalten für Nicht-Control
XAML-Elemente.Ergibt ein Ergebnis von:
Sie können mehr darüber lesen Sie hier .
quelle