Como adicionar texto a um rótulo WPF no código?

119

Sinto-me estúpido, mas não consigo descobrir como adicionar um texto a um controle WPF Label no código. Como a seguir para um TextBlock:

DesrTextBlock.Text = "some text";

O que é uma propriedade equivalente no Label para fazer isso?

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

Respostas:

188

Tente DesrLabel.Content. É a maneira WPF.

Daniel A. White
fonte
7
é apenas a maneira ContentControl, na verdade.
Scott M.
4
Isso parece um pouco inconsistente, uma vez que a propriedade é chamado Textpara uma TextBox, mas não para uma TextBlock...
BlueRaja - Danny Pflughoeft
9
@ BlueRaja-DannyPflughoeft, não há obrigação de o conteúdo de um Rótulo ser texto. É do tipo object, para que você possa criar qualquer tipo de WPF ou .NET que desejar - um botão, uma imagem, um retângulo verde e até mesmo SqlDataReaderse você realmente quiser! (embora bem o que representaria em uma etiqueta, eu não estou muito certo ...)
Stephen Holt
ao atualizar .Content para um rótulo WPF, ele nem sempre atualiza o rótulo. Como forçamos a atualização quando o controle gera a interface do usuário?
David Jeske
@DavidJeske você está em outro tópico? Despachar pode ser o truque
Daniel A. White
27

Em winForms normais, o valor do objeto Label é alterado por,

myLabel.Text= "Your desired string";

Mas no controle WPF Label, você deve usar a propriedade .content do controle Label, por exemplo,

myLabel.Content= "Your desired string";
Utkal Sinha
fonte
6

Eu acredito que você deseja definir a Contentpropriedade. Isso tem mais informações sobre o que está disponível para um rótulo.

Mark Avenius
fonte
4

Você pode usar a propriedade Content em praticamente todos os controles visuais do WPF para acessar as coisas dentro deles. Há uma hierarquia de classes à qual os controles pertencem e quaisquer descendentes do ContentControl funcionarão dessa maneira.

RichardW1001
fonte
0

você pode usar o controle TextBlock e atribuir a propriedade text.

Davide Piras
fonte
-2

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

mito
fonte
3
Embora esse código possa responder à pergunta, seria melhor incluir algum contexto, explicar como ele funciona e descrever quando usá-lo. Respostas somente de código não são úteis a longo prazo.
Ryanyuyu