【问题标题】:How to show multi-line xml content with CRLF in WPF TextBlock?如何在 WPF TextBlock 中使用 CRLF 显示多行 xml 内容?
【发布时间】:2014-01-05 21:34:06
【问题描述】:

我有一个这样的 xml 文件:

<Items>
 <Item att1="val1" att2="val2" att3="
   att3 line 1 is long
   att3 line 2 is longer
   att3 line 3 is longest"/>
 ...
</Items>

WPF TextBlock 应显示 att3 的值,如下所示:

   att3 line 1 is long
   att3 line 2 is longer
   att3 line 3 is longest

相反,我看到以下内容:

att3 line 1 is long att3 line 2 is 
longer att3 line 3 is longest

如何让 WPF TextBlock 识别在 NotePad++ 中打开文件时可以看到的 CRLF 字符?

更新:
- 通过加载 XDocument 并使用 Linq 将值读入 TextBlock 从 Xml 中读取文本
- 是的,在 Notepad++ 中可以看到 CRLF 字符
- TextBlock 使用“Wrap”启用了 TextWrapping - 示例 xml:http://sdrv.ms/1gGbeE3

【问题讨论】:

  • 如何将文本添加到 TextBlock 控件?
  • 你确定你有 CRLF 字符

标签: c# xml wpf newline textblock


【解决方案1】:

只需添加属性TextWrapping="Wrap"

<TextBlock  Name="textBlock" HorizontalAlignment="Left" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>

我已经在后面的代码中尝试过这个并且工作正常,所以你应该确保你的字符串中有 \n

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        string st = " att3 line 1 is long \n  att3 line 2 is longer \n   att3 line 3 is longest";
        textBlock.Text = st;  
    }
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-20
    • 2011-11-16
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 2014-04-28
    • 2015-12-14
    • 2013-03-25
    相关资源
    最近更新 更多