¿Hay alguna forma de \n
hacer un salto de línea en un TextBlock
?
<TextBlock Text="line1\nLine2" />
¿O hay una mejor manera de forzar una ruptura de la línea media, dentro del Text
atributo?
<LineBreak />
Esto no funciona para mí, debe ser el valor del Text
atributo, porque la cadena de texto se establece desde una fuente externa.
Estoy familiarizado, LineBreak
pero no es la respuesta que estoy buscando.
Respuestas:
Sé que esto está resolviendo una vieja pregunta, pero tuve el mismo problema. La solución para mí fue utilizar saltos de línea codificados en HTML (
&#10;
).Line1&#10;Line2
Parece
Para obtener más caracteres codificados en HTML, consulte w3schools
fuente
<TextBlock>
y</TextBlock>
luego sí, lo necesitará<LineBreak/>
.
trabaja dentro delText
atributo:<TextBlock Text="..." />
Prueba esto:
<TextBlock> line1 <LineBreak /> line2 </TextBlock>
fuente
La forma mas facil es
<TextBlock> blabla <LineBreak /> coucou <LineBreak /> coucou 2 </TextBlock>
Así que simplemente escribe código XAML, y
<LineBreak />
tiene exactamente el mismo significado queen HTML o "\ n" en C #.
fuente
<LineBreak/>
http://www.longhorncorner.com/UploadFile/mahesh/XamlLineBreak06092005152257PM/XamlLineBreak.aspx
fuente
¿Qué tal dividir la línea en dos etiquetas?
<StackPanel> <TextBlock Text="Line1" /> <TextBlock Text="Line2" /> </StackPanel>
fuente
<LineBreak /> no funcionará si está dentro de una colección como Grid o StackPanel. En tales casos, lo siguiente funcionaría como se muestra:
fuente
La forma correcta de usarlo puede ser la siguiente:
<TextBlock> <Span>text1</Span> <LineBreak/> <Span>text2</Span> </TextBlock>
fuente
<HyperlinkButton Content="Apply and restart this pplication! Note that modifying these settings requires the application to be restarted." />
CRLF forma simple =
!
!
- Trabaja en todos los controles wpf, xaml, silverlight como TextBlock, HyperlinkText y másfuente
Si está vinculando el texto de TextBlock, ninguna de las otras respuestas funciona. Simplemente agregue '\ n' al texto de enlace en el lugar donde desea romper.
fuente
Esto también funciona bien:
<TextBlock> <Run Text="My nice text"/> <LineBreak/> <LineBreak/> <Run Text="After some linebreaks, I'm back!"/> </TextBlock>
fuente
simplemente use el control AccessText. puedes usarlo como una etiqueta y tienes 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.
fuente
Llego tarde a la fiesta, pero ... así es más o menos cómo lo hice (tenga en cuenta que mis ItemSources son cadenas simples, no formateadas, y no necesitaba 'convertirBack' nada)
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(); } }
fuente
Tenía un problema similar y quería vincular una cadena de marcado xaml a un TextBlock. Esencialmente almacenar el marcado declarativo dentro de un TextBlock en una cadena para su uso posterior.
Así es como lo hice : subclasé el TextBlock para hacer el InlineCollection enlazable y escribí un Convertidor entre la cadena y un InlineCollection (o en realidad una lista genérica de Inline).
fuente
esto
&#10;
no funcionó para mí, cuando usé la encuadernación. Pero esto funciona:$"first line {Environment.NewLine} second line"
fuente