在文本框中显示HTML格式的文本并保持布局

时间:2015-06-17 02:06:08

标签: c# html wpf textbox

我有一个包含HTML格式文本的html文件。我想将此文本显示在c#wpf应用程序的文本框中。我正在使用HTML Agility Pack来解析文本。

HtmlDocument HD = new HtmlDocument();

HD.LoadHtml(rangescenes.Text);

var root = HD.DocumentNode;
var sb = new StringBuilder();
foreach (var node in root.DescendantsAndSelf())
{
    if (!node.HasChildNodes)
    {
         string text = node.InnerText;
                 sb.AppendLine(text);
    }
}

Script = sb.ToString();

结果是我得到了每一行,但我失去了布局。像填充和文本缩进。

LOREM IPSUM DOLOR SITM AET   1

Lorem ipsum dolor sitm aet, consectetur adipiscing elit. 
Phasellus et neque rhoncus, accumsan augue sit amet.

NAME
blablalbal blablabla blablablab
bla blablablablablalb blablalba

我希望得到这个:

1     LOREM IPSUM DOLOR SITM AET                            1

      Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
      Phasellus et neque rhoncus, accumsan augue sit amet.

                           NAME
                blablalbal blablabla blablablab
                bla blablablablablalb blablalba

有没有办法在文本框中显示这个HTML文件,就像webbrowser会显示带有填充和文本缩进的HTML文件一样?

1 个答案:

答案 0 :(得分:0)

首先你需要一个隐藏的WebBrowser

yaourt -S intellij-idea-ultimate-edition

并在后面的代码中加载html。

 <WebBrowser Grid.Row="2" Grid.Column="0" x:Name="myWebBrowser" Visibility="hidden"
                    Width="480" Height="480" Margin="2 2 2 2" ></WebBrowser>

在您需要将内容复制并粘贴到文本框后

myWebBrowser.NavigateToString(sb.ToString());

我希望它有所帮助!!