我们的Silverlight应用程序需要向用户显示它动态生成的HTML页面的预览,因此我们希望使用WebBrowser(或像Telerik的RadHtmlPlaceholder类似的东西)来显示这些页面。问题是HTML包含指向其他本地文件的链接,例如图像,flash对象,CSS和javascript文件。 CSS和javascript可以内嵌在HTML中,但我还没有找到嵌入图像的方法。像这样简单的东西不起作用:
在隔离存储中创建HTML文件和图像文件是可行的,但我无法获取创建的HTML文件的路径以传递给WebBrowser.Navigate(uri)。
读取HTML文件的内容并调用WebBrowser.NavigateToString(string)将显示页面,但不显示任何链接的图像或脚本。
链接到在线资源不是一个选项,因为应用程序需要离线工作(即在浏览器之外),如果图像和flash对象能够在本地缓存,性能会好得多。
那么,在Silverlight中是否有任何方法可以在WebBrowser控件中显示包含本地文件系统映像的本地HTML文件,还是不可能?
谢谢, 詹姆斯
答案 0 :(得分:0)
OOB中内置的System.IO函数只读取和写入本地文档目录。只要一切都在那里,你就可以使用提升信任。除了使用带有AutomationFactory的已注册COM对象之外,是访问系统中任何位置的文件的唯一方法。 file:// C:/ file.html的路径是从本地文件系统显示文件的URI。