Comment ajouter du texte à une étiquette WPF dans le code?


120

Je me sens stupide mais je ne peux pas savoir comment ajouter un texte à un contrôle WPF Label dans le code. Comme suit pour un TextBlock:

DesrTextBlock.Text = "some text";

Quelle est la propriété équivalente dans Label pour le faire?

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

Réponses:


189

Essayez DesrLabel.Content. C'est la manière WPF.


7
c'est juste la manière ContentControl en fait.
Scott M.

4
Cela semble un peu incohérent, étant donné que la propriété est appelée Textpour un TextBoxmais pas pour un TextBlock...
BlueRaja - Danny Pflughoeft

9
@ BlueRaja-DannyPflughoeft il n'y a aucune obligation pour le contenu d'un Label d'être du texte. Il est de type object, vous pouvez donc en faire n'importe quel type WPF ou .NET que vous aimez - un bouton, une image, un rectangle vert, même SqlDataReadersi vous le souhaitez vraiment! (bien que ce que cela représenterait dans un label, je ne suis pas trop sûr ...)
Stephen Holt

lors de la mise à jour .Content pour une étiquette WPF, il n'actualise pas toujours l'étiquette. Comment forcer l'actualisation lorsque le contrôle cède à l'interface utilisateur?
David Jeske

@DavidJeske êtes-vous dans un autre fil de discussion? La répartition pourrait être l'astuce
Daniel A. White

27

Dans winForms normal, la valeur de l'objet Label est modifiée par,

myLabel.Text= "Your desired string";

Mais dans le contrôle WPF Label, vous devez utiliser la propriété .content du contrôle Label par exemple,

myLabel.Content= "Your desired string";

6

Je pense que vous souhaitez définir la Contentpropriété. Cela a plus d'informations sur ce qui est disponible pour une étiquette.


4

Vous pouvez utiliser la propriété Content sur à peu près tous les contrôles WPF visuels pour accéder aux éléments qu'ils contiennent. Il existe une hiérarchie de classes auxquelles appartiennent les contrôles, et tous les descendants de ContentControl fonctionneront de cette manière.


0

vous pouvez utiliser le contrôle TextBlock et affecter la propriété text.


-2

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


3
Bien que ce code puisse répondre à la question, il serait préférable d'inclure un contexte, d'expliquer comment il fonctionne et de décrire quand l'utiliser. Les réponses basées uniquement sur le code ne sont pas utiles à long terme.
ryanyuyu
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.