有没有办法\n
使换行TextBlock
?
<TextBlock Text="line1\nLine2" />
还是有一种更好的方法可以在Text
属性内部强制中线中断?
<LineBreak />
这对我不起作用,它必须是Text
属性的值,因为文本字符串是从外部来源设置的。
我很熟悉,LineBreak
但这不是我要找的答案。
有没有办法\n
使换行TextBlock
?
<TextBlock Text="line1\nLine2" />
还是有一种更好的方法可以在Text
属性内部强制中线中断?
<LineBreak />
这对我不起作用,它必须是Text
属性的值,因为文本字符串是从外部来源设置的。
我很熟悉,LineBreak
但这不是我要找的答案。
Answers:
我知道这正在解决一个老问题,但是我遇到了同样的问题。对我来说,解决方案是使用HTML编码的换行符(&#10;
)。
Line1&#10;Line2
好像
1号线
2号线
有关更多HTML编码字符的信息,请访问w3schools
<TextBlock>
,</TextBlock>
那么需要<LineBreak/>
。
在Text
属性内工作:<TextBlock Text="..." />
试试这个:
<TextBlock>
line1
<LineBreak />
line2
</TextBlock>
最简单的方法是
<TextBlock> blabla <LineBreak /> coucou <LineBreak /> coucou 2 </TextBlock>
因此,您只需编写XAML代码,并且在HTML或C#中的“ \ n” <LineBreak />
具有完全相同的含义
。
这也可以正常工作:
<TextBlock>
<Run Text="My nice text"/>
<LineBreak/>
<LineBreak/>
<Run Text="After some linebreaks, I'm back!"/>
</TextBlock>
我迟到了,但是..或多或少这是我做的事情((请注意,我的ItemSources是纯字符串,未格式化,并且我不需要“ 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();
}
}