WPF Textblock, salto de línea en el atributo de texto
textbox wpf (12)
¿Hay alguna manera de tener /n
hacer un salto de línea en un TextBlock
?
<TextBlock Text="line1/nLine2" />
¿O hay una forma mejor de forzar un salto de línea media, dentro del atributo de Text
?
<LineBreak />
Esto no funciona para mí, necesita ser el valor del atributo de Text
, porque la cadena de texto se establece desde una fuente externa.
Estoy familiarizado con LineBreak
pero no es la respuesta que estoy buscando.
¿Qué hay de romper la línea en dos etiquetas?
<StackPanel>
<TextBlock Text="Line1" />
<TextBlock Text="Line2" />
</StackPanel>
<LineBreak /> no funcionará si está dentro de una colección como Grid o StackPanel. En tales casos, lo siguiente funcionaría como se muestra:
Estaba teniendo un problema similar y quería vincular una marca String of xaml a un TextBlock. Almacenamiento Essentialy el marcado declarativo dentro de un TextBlock en una cadena para su uso posterior.
Así es como lo hice : subclasé el TextBlock para enlazar InlineCollection y escribí un Conversor entre la cadena y una InlineCollection (o en realidad una lista genérica de Inlines).
La forma correcta de usarlo puede ser la siguiente:
<TextBlock>
<Span>text1</Span>
<LineBreak/>
<Span>text2</Span>
</TextBlock>
La forma más fácil es
<TextBlock> blabla <LineBreak /> coucou <LineBreak /> coucou 2 </TextBlock>
Así que solo escribe código XAML, y <LineBreak />
tiene exactamente el mismo significado que
en HTML o "/ n" en C #.
Llego tarde a la fiesta pero ... esto es más o menos como lo hice, (tenga en cuenta que mis Fuentes de Item son cadenas simples, no formateadas, y no necesitaba ''convertirVolver'')
public class SpaceToLineBreakConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return (!String.IsNullOrEmpty(value as string))
? new Regex(@"/s").Replace(value as string, "/n")
: value;
}
public object ConvertBack(object value, Type targetType, object parameter,System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Prueba esto:
<TextBlock>
line1
<LineBreak />
line2
</TextBlock>
Sé que esto resuelve una vieja pregunta, pero tuve el mismo problema. La solución para mí fue utilizar fuentes de línea codificadas en HTML ( &#10;
).
Line1&#10;Line2
Parece
Línea 1
Línea 2
Para obtener más de los caracteres codificados en HTML, consulte w3schools
Si está vinculando TextBlock''s Text, ninguna de las otras respuestas funciona. Simplemente agregue ''/ n'' al texto de enlace hasta donde quiera romper.
solo use el control AccessText. puede usarlo como una etiqueta y tiene la propiedad TextWrapping = "WrapWithOverflow"
p.ej.
El mío es así y está funcionando bien. Además, no tiene ningún problema para cambiar el texto dinámicamente.
<HyperlinkButton
Content="Apply and restart this pplication! Note that modifying these settings requires the application to be restarted." />
CRLF simple way = !
!
- Trabaja en todos los controles wpf, xaml, silverlight como TextBlock, HyperlinkText y más