WPF文本块,文本属性中的换行符
有没有办法让\n
在TextBlock
换行?
<TextBlock Text="line1\nLine2" />
还是有一个更好的方法来强制在Text
属性中的中间行rest?
<LineBreak />
这对我不起作用,它需要是Text
属性的值,因为文本string是从外部源设置的。
我很熟悉LineBreak
但这不是我正在寻找的答案。
我知道这是在回答一个老问题,但是我也遇到了同样的问题。 我的解决scheme是使用HTML编码的换行符( &#10;
)。
Line1&#10;Line2
好像
1号线
2号线
对于更多的HTML编码字符检查w3schools
尝试这个:
<TextBlock> line1 <LineBreak /> line2 </TextBlock>
最简单的方法是
<TextBlock> blabla <LineBreak /> coucou <LineBreak /> coucou 2 </TextBlock>
所以你只需编写XAML代码,和<LineBreak />
具有完全一样的含义
在HTML中或在C#中的“\ n”。
<LineBreak/>
http://www.longhorncorner.com/UploadFile/mahesh/XamlLineBreak06092005152257PM/XamlLineBreak.aspx
如何将行分成两个标签?
<StackPanel> <TextBlock Text="Line1" /> <TextBlock Text="Line2" /> </StackPanel>
如果它在Grid或StackPanel等集合内,<LineBreak />将不起作用。 在这种情况下,下面的工作将如图所示:
只需使用AccessText控件。 你可以使用它像一个标签,你有属性TextWrapping =“WrapWithOverflow”
例如。
矿是这样的,它工作正常。 另外,您在改变文本方面没有任何问题。
我迟到了,但是..这或多或less是我做的,(介意我的ItemSources是纯string,没有格式化,我不需要任何“convertBack”)
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(); } }
正确的使用方法可能如下:
<TextBlock> <Span>text1</Span> <LineBreak/> <Span>text2</Span> </TextBlock>
我有一个类似的问题,并希望绑定一个XAML标记的string到一个TextBlock。 Essentialy将声明标记存储在TextBlock中的string中供以后使用。
这是我做了 :我subclassed TextBlock使InlineCollection可绑定,并写了一个转换器之间的string和InlineCollection(或实际上是一个通用的Inline列表)。
<HyperlinkButton Content="Apply and restart this pplication! Note that modifying these settings requires the application to be restarted." />
CRLF简单的方法= !
!
– 处理所有wpf,xaml,Silverlight控件,如TextBlock,HyperlinkText等等
如果您正在绑定TextBlock的文本,其他答案都不起作用。 只需将“\ n”添加到要破解的位置即可。