salto linea etiquetas wpf label newline

wpf - etiquetas - label salto de linea xaml



Newline en una etiqueta WPF? (3)

Al hacer esto en ViewModel o Model, he encontrado que usar Environment.NewLine tiene el resultado más consistente, incluida la localización. También debería funcionar directamente en la Vista, pero no lo he probado.

Ejemplo:

En la vista

<Label Content="{Binding SomeStringObject.ParameterName}" />

En ViewModel:

SomeStringObject.ParameterName = "First line" + Environment.NewLine + "Second line";

¿Cómo puedo agregar una nueva línea en el texto de una etiqueta en WPF como la siguiente?

<Label>Lorem ipsum</Label>


en WPF puede usar el valor "&#10;" o "&#xA;"

Por ejemplo:

<Label Content="Lorem&#10;ipsum" />

("10" es el número ASCII para nueva línea)

o

<Label Content="Lorem&#xA;ipsum" />

("A" es el número ASCII para nueva línea en hex)


<Label><TextBlock>Lorem<LineBreak/>ipsum</TextBlock></Label>

Necesita utilizar TextBlock porque TextBlock acepta como elementos secundarios una colección de objetos Inline. Por lo tanto, le está dando al elemento TextBlock tres elementos en línea: ejecutar texto = "Lorem", LineBreak y ejecutar texto = "ipsum".

No puedes hacer lo siguiente:

<Label>Lorem<LineBreak/>ipsum</Label>`

porque una etiqueta acepta un elemento secundario de contenido.

Además, no estoy seguro de cuál es su caso de uso, pero tenga en cuenta que coloqué un TextBlock dentro de su elemento Label. ¿Es repetitivo? No realmente, dependiendo de tu necesidad. Aquí hay un buen artículo sobre las diferencias entre los dos elementos: Diferencia entre Etiqueta y TextBlock