有没有办法让\n
在TextBlock
中换行?
<TextBlock Text="line1\nLine2" />
或者是否有更好的方法可以在Text
属性中强制中间线中断?
<LineBreak />
这对我不起作用,它必须是Text
属性的值,因为文本字符串是从外部源设置的。
我熟悉LineBreak
,但这不是我正在寻找的答案。
答案 0 :(得分:114)
试试这个:
<TextBlock>
line1
<LineBreak />
line2
</TextBlock>
答案 1 :(得分:108)
我知道这是在重新提出一个老问题,但我遇到了同样的问题。我的解决方案是使用HTML编码的换行符(&#10;
)。
Line1&#10;Line2
看起来像
线路1
LINE2
对于更多HTML编码字符,请查看w3schools
答案 2 :(得分:10)
最简单的方法是
<TextBlock> blabla <LineBreak /> coucou <LineBreak /> coucou 2 </TextBlock>
所以你只需要编写XAML代码,而<LineBreak />
与HTML中的含义或C#中的“\ n”完全相同。
答案 3 :(得分:7)
<LineBreak/>
http://www.longhorncorner.com/UploadFile/mahesh/XamlLineBreak06092005152257PM/XamlLineBreak.aspx
答案 4 :(得分:5)
如何将这条线分成两个标签?
<StackPanel>
<TextBlock Text="Line1" />
<TextBlock Text="Line2" />
</StackPanel>
答案 5 :(得分:3)
使用它的正确方法可能如下:
<TextBlock>
<Span>text1</Span>
<LineBreak/>
<Span>text2</Span>
</TextBlock>
答案 6 :(得分:3)
&LT; LINEBREAK /&GT;如果它在Grid或StackPanel之类的集合中,则不起作用。 在这种情况下,如下所示:
答案 7 :(得分:3)
对同一文本块中的多行有效的最佳方法是:
<TextBlock>
text1
<LineBreak/>
text2
</TextBlock>
确保不要使用 TextWrapping="Wrap"。使用 TextWrapping="NoWrap" 或什么都不用。
答案 8 :(得分:2)
如果您绑定TextBlock的文本,其他答案都不起作用。只需将'\ n'添加到要中断的绑定文本即可。
答案 9 :(得分:1)
<HyperlinkButton
Content="Apply and restart this pplication! Note that modifying these settings requires the application to be restarted." />
CRLF简单方法= !
!
- 处理所有wpf,xaml,silverlight控件,如TextBlock,HyperlinkText等等
答案 10 :(得分:1)
只需使用AccessText控件即可。你可以像标签一样使用它,你有属性TextWrapping =“WrapWithOverflow”
例如。
我是这样的,它运作良好。另外,你在改变文本方面没有任何问题。答案 11 :(得分:1)
我迟到了,但是...... 这或多或少都是我做的,(介意我的ItemSources是简单的字符串,没有格式化,我不需要&#39; convertBack&#39;任何东西)
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();
}
}
答案 12 :(得分:0)
我遇到了类似的问题,想要将一个xaml标记字符串绑定到TextBlock。 Essentialy将声明性标记存储在字符串中的TextBlock中以供以后使用。
This is how I did:我将TextBlock子类化为使InlineCollection可绑定,并在字符串和InlineCollection(或实际上是Inlines的通用列表)之间编写了一个Converter。)
答案 13 :(得分:0)
这也可以正常工作:
<TextBlock>
<Run Text="My nice text"/>
<LineBreak/>
<LineBreak/>
<Run Text="After some linebreaks, I'm back!"/>
</TextBlock>
答案 14 :(得分:0)
当我使用绑定时,此&#10;
对我不起作用。但这有效:
$"first line {Environment.NewLine} second line"