¿Cómo agregar texto a una etiqueta WPF en el código?

120

Me siento estúpido pero no puedo averiguar cómo agregar un texto a un control de etiqueta WPF en el código. Como seguir para un TextBlock:

DesrTextBlock.Text = "some text";

¿Cuál es la propiedad equivalente en Label para hacerlo?

DesrLabel.??? = "some text"; //something like this
movimiento rápido del ojo
fuente

Respuestas:

189

Prueba DesrLabel.Content. Es la forma de WPF.

Daniel A. White
fuente
7
en realidad es solo la forma ContentControl.
Scott M.
4
Eso parece un poco inconsistente, dado que la propiedad está llamada Textpara un TextBoxpero no para un TextBlock...
BlueRaja - Danny Pflughoeft
9
@ BlueRaja-DannyPflughoeft no existe la obligación de que el contenido de una etiqueta sea texto. Es de tipo object, por lo que puede convertirlo en cualquier tipo de WPF o .NET que desee: un botón, una imagen, un rectángulo verde, ¡incluso SqlDataReadersi realmente lo desea! (aunque no estoy muy seguro de lo que eso representaría en una etiqueta ...)
Stephen Holt
cuando se actualiza .Content para una etiqueta WPF, no siempre actualiza la etiqueta. ¿Cómo forzamos la actualización cuando el control cede a la interfaz de usuario?
David Jeske
@DavidJeske, ¿estás en otro hilo? El envío podría ser el truco
Daniel A. White
27

En winForms normales, el valor del objeto Label se cambia por,

myLabel.Text= "Your desired string";

Pero en el control de etiqueta de WPF, debe usar la propiedad .content del control de etiqueta, por ejemplo,

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

Creo que quieres establecer la Contentpropiedad. Esto tiene más información sobre lo que está disponible para una etiqueta.

Mark Avenius
fuente
4

Puede usar la propiedad Content en casi todos los controles visuales de WPF para acceder a las cosas que están dentro de ellos. Hay una jerarquía de clases a las que pertenecen los controles y cualquier descendiente de ContentControl funcionará de esta manera.

RichardW1001
fuente
0

puede utilizar el control TextBlock y asignar la propiedad de texto.

Davide Piras
fuente
-2

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

mito
fuente
3
Si bien este código puede responder la pregunta, sería mejor incluir algo de contexto, explicar cómo funciona y describir cuándo usarlo. Las respuestas de solo código no son útiles a largo plazo.
ryanyuyu