Wie füge ich einem WPF-Label Text im Code hinzu?


119

Ich fühle mich dumm, kann aber nicht herausfinden, wie man einem WPF-Label-Steuerelement im Code einen Text hinzufügt. Wie folgt für einen TextBlock:

DesrTextBlock.Text = "some text";

Was ist die entsprechende Eigenschaft in Label dafür?

DesrLabel.??? = "some text"; //something like this

Antworten:


188

Versuchen Sie es DesrLabel.Content. Es ist der WPF-Weg.


7
Es ist eigentlich nur die ContentControl-Methode.
— Scott M.

4
Das scheint ein wenig widersprüchlich, da die Eigenschaft aufgerufen wird , Textfür eine , TextBoxaber nicht für ein TextBlock...
— BlueRaja - Danny Pflughoeft

9
@ BlueRaja-DannyPflughoeft Es besteht keine Verpflichtung, dass der Inhalt eines Labels Text ist. Es ist vom Typ object, so dass Sie es zu einem beliebigen WPF- oder .NET-Typ machen können - eine Schaltfläche, ein Bild, ein grünes Rechteck, auch SqlDataReaderwenn Sie es wirklich wollen! (obwohl genau das, was das in einem Label darstellen würde, bin ich mir nicht sicher ...)
— Stephen Holt

Beim Aktualisieren von .Content für ein WPF-Label wird das Label nicht immer aktualisiert. Wie erzwingen wir eine Aktualisierung, wenn die Steuerung der Benutzeroberfläche nachgibt?
— David Jeske

@ DavidJeske bist du in einem anderen Thread? Dispatching könnte der Trick sein
— Daniel A. White

27

In normalen winForms wird der Wert des Label-Objekts geändert durch:

myLabel.Text= "Your desired string";

In der WPF-Label-Steuerung müssen Sie jedoch die .content-Eigenschaft der Label-Steuerung verwenden, z.

myLabel.Content= "Your desired string";

6

Ich glaube, Sie möchten die ContentEigenschaft festlegen . Hier finden Sie weitere Informationen darüber, was einem Etikett zur Verfügung steht.


4

Sie können die Content-Eigenschaft für so ziemlich alle visuellen WPF-Steuerelemente verwenden, um auf die darin enthaltenen Inhalte zuzugreifen. Es gibt eine Hierarchie von Klassen, zu denen die Steuerelemente gehören, und alle Nachkommen von ContentControl funktionieren auf diese Weise.


0

Sie können das TextBlock-Steuerelement verwenden und die Texteigenschaft zuweisen.


-2

Label myLabel = new Label (); myLabel.Content = "Hello World!";


3
Während dieser Code die Frage beantworten kann, ist es besser, einen Kontext einzuschließen, zu erklären, wie er funktioniert, und zu beschreiben, wann er verwendet werden soll. Nur-Code-Antworten sind auf lange Sicht nicht sinnvoll.
— Ryanyuyu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.