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

I have a html file which contains HTML formatted text. I want to display this text into a textbox in my c# wpf application. I'm using HTML Agility Pack to parse the text.

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();

The result is that I get each line but I lose the layout. like padding and text-indent.

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

and I want to get this:

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

Is there a way to display this HTML file in a textbox like a webbrowser would display the HTML file with padding and text-indent?

Solutions1

FIrst you need a hidden WebBrowser

Width="480" Height="480" Margin="2 2 2 2" >

and load you html in code behind.

myWebBrowser.NavigateToString(sb.ToString());

after you need copy and paste the content to your textbox.

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

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

yourTextBox.Paste();

I hope it helps!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值