WPF TextBlock如何把字符串显示在多行中

4

我有一个字符串:

Item A\r\nItem B\r\nItem C

如何将此字符串绑定到TextBlock,以便它显示为:
Item A
Item B
Item C

谢谢

1个回答

4

只需将TextBlock设置为足够大,以显示三行文本。如果Text中存在换行符和回车符,则TextBlock能够自动换行。

编辑:同时,请确保换行符和回车符没有硬编码。我的意思是这两者之间存在差异:

MyString = @"Item A\r\nItem B\r\nItem C";

并且...

MyString = "Item A\r\nItem B\r\nItem C";

第二个字符串将在 TextBlock 中正确显示,但第一个字符串只会以单行显示为“Item A\r\nItem B\r\nItem C”,因为换行和回车字符是硬编码而不是转义字符。
您可以通过用它们的转义序列替换硬编码的换行和回车字符来解决这个问题,方法如下:
MyString = MyString.Replace("\\r\\n", "\r\n");

或者更好的方式是:

MyString = MyString.Replace("\\r\\n", Environment.NewLine);

TextBlock足够大,但它没有处理换行符。 - David Ward
请发布一下 XAML。还有,TextBlock 显示的是什么内容?如果它显示的是 "Item A\r\nItem B\r\nItem C",那就意味着换行和回车符是硬编码的。请查看我的更新答案。 - Yogesh
使用 Environment.NewLine 进行替换非常有效...谢谢 - David Ward

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接