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.