我正在使用WPF WebBrowser控件导航到承载Silverlight的html页面。似乎我不能使用NavigateToString或NavigateToStream方法,因为我有Silverlight内容。html内容加载正常,但不能加载Silverlight。所以我想我将不得不使用带有Uri的导航方法。现在,我想导航到的html页面在Visual Studio项目的.html文件中,所以我必须有某种本地uri。我不想将html文件复制到输出文件夹,因为我不想单独分发它;我希望它以某种方式包含在程序集中。问题是WebBrowser控件似乎不允许相对uris或pack://应用程序: Uris。
如何在程序集中导航到.html文件?
发布于 2009-10-08 06:33:18
您应该能够使用NavigateToString,并使用GetManifestResourceStream自己拉出该文件:
using (var _textStreamReader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("BrowserTest.test.htm")))
{
string content = _textStreamReader.ReadToEnd();
MainBrowser.NavigateToString(content);
}
但是,如果您需要在HTML文件中使用外部资源,您将会遇到问题。如果您需要外部资源,那么您将不得不将Win32资源(与.net资源不是同一件事)嵌入到您的程序集中,这有点麻烦。在CodeProject上的WinForms应用程序中有一个这样做的例子。
https://stackoverflow.com/questions/1537811
复制