c# - 使WebBrowser控件在DocumentText中使用链接的样式表

我正在使用WebBrowser控件,并且显示文本,但未使用链接的CSS,而是显示为纯文本。
我像这样填充

webBrowser1.DocumentText = some_text;


在some_text中是<link rel="stylesheet"href="PF.css">以及其余的html

当我将some_text保存到文件并让WebBrowser导航到它时,它工作正常
webBrowser1.Navigate(@"C:\test.html");和PF.css位于C:\

我将PF.css放在所有类文件所在的项目文件夹中。

如何使WebBrowser控件使用/显示链接的CSS文件?
我不想将我的字符串保存到文件中,然后导航到该文件。

谢谢

最佳答案

mshtml.HTMLDocument CurrentDocument = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;
 mshtml.IHTMLStyleSheet styleSheet = CurrentDocument.createStyleSheet("", 0);
 StreamReader streamReader = new StreamReader(@"C:\PF.css");
 string text = streamReader.ReadToEnd();
 streamReader.Close();
 styleSheet.cssText = text;


有点怪诞的方式,但是我读到的所有内容似乎都指向webbrowser控件,除非您导航到文件/ URL并将其包含在其中,否则它无法执行CSS。
顺便说一句,您必须向Microsoft.mshtml添加引用。

也许此控件的未来版本可以处理链接的样式表...

本文翻译自 https://stackoverflow.com/questions/1585068/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 c# css browser


相关文章:

c# - 检查可为空的惰性值

c# - .NET中的Random并发问题?

c# - 将VLC Media Player添加到Visual Studio 2015

c# - 使用itextsharp将转发器控件转换为pdf,每个重复的内容都应出现在新页面中

c# - MVC 4 TextBoxFor等自动调用HttpUtility.HtmlAttributeEncode

c# - 模型类DisplayFormat()如何本地化NullDisplayText?

c# - 在新AppDomain中建立的第一个WCF连接非常慢

c# - 从ObservableCollection继承的Collection-有什么好处?

c# - RelayCommand ICommand.CanExecute不触发

c# - 组合框数据源绑定会影响由相同数据设置的组合框的其他实例