在文本框中显示 HTML 格式的文本并保留布局
本文关键字:文本 布局 格式 保留 HTML 显示 | 更新日期: 2023-09-27 17:56:33
我有一个包含HTML格式文本的html文件。我想将此文本显示在 c# wpf 应用程序中的文本框中。我正在使用HTML敏捷包来解析文本。
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 文件,就像网络浏览器显示带有填充和文本缩进的 HTML 文件一样?
首先你需要一个隐藏的Web浏览器
<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();
我希望它有帮助!!