簡體   English   中英

在文本框中顯示HTML格式的文本並保持布局

[英]Display HTML formatted text in a textbox and keep layout

我有一個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文件?

首先,您需要一個隱藏的WebBrowser

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

並在后面的代碼中加載html。

myWebBrowser.NavigateToString(sb.ToString());

需要復制內容並將其粘貼到文本框后。

myWebBrowser.Document.ExecCommand("SelectAll", false, null);
myWebBrowser.Document.ExecCommand("Copy", false, null);
yourTextBox.Paste();

希望對您有所幫助!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM