在Web浏览器控件中将背景图像加载到自定义Html页面

时间:2013-10-29 04:51:31

标签: html wpf-controls browser webbrowser-control

我有一个场景,当任何请求失败时,我需要导航到我自己的自定义html页面。我面临的问题是我有一个背景图像,我需要使用自定义html页面显示。

我已经按如下方式实现了代码:

CustomHtmlDoc = "<html><head></head><body background=\"{0}\"; oncontextmenu='return false;'><br><br></br></br><hr><h4 style='font-family:Footlight MT Light;color:red;font-size:20px;'>" + "ErrorMessage" + "</h4><h4 style='font-family:Footlight MT Light;color:red;font-size:25px;'>Please Verify the Configured URL from Dashboard Configuration</h4> <hr></body></html>";
string CustomHtmlDocument = string.Format(CustomHtmlDoc,AppDomain.CurrentDomain.BaseDirectory + "AdministrationUIBrowser\\AdministrationUIBrowserFactory\\ErrorBackground.png");
WebBrowserControlView.DocumentText = CustomHtmlDocument;

当我尝试在本地运行场景时,我能够将错误页面作为背景。但在部署结束时,我只是得到空白屏幕,只有内容没有任何背景图像。我的是WPF应用程序。

3 个答案:

答案 0 :(得分:0)

Windows窗体中的DocumentText实现不实现IMoniker,并且加载的文档将具有大约的基址:空白,因此您的页面无法找到背景图像。

您可以使用基本元素指定相对网址的基本位置,或实现网址名字对象。有一个关于在http://www.codeproject.com/KB/miscctrl/csEXWB.aspx实现网址名称的示例。在页面上搜索LoadHtmlIntoBrowser(字符串html,字符串sBaseUrl)。

答案 1 :(得分:0)

也许您可以使用Base64编码的图像。 Check this service out。我测试了它,它就像一个魅力。

希望它有所帮助。

答案 2 :(得分:0)

尝试100%确定 (图像当前文件夹)

this.webBrowser1.DocumentText = 
    @"<b>This is an image:</b> <img src='" + 
    System.IO.Path.GetDirectoryName(Application.ExecutablePath) 
    +"/ErrorBackground.png'>";