使用 SVG 更新网络浏览器内容



我正在使用Web浏览器控件来显示在我的程序中创建并作为XMLdocument保存在公共变量中的SVG文件。现在我想编辑我的 SVG 并在 Web 浏览器控件中加载新文件。

这是我正在使用的变量

Public XSchemaSVG As New XmlDocument

当我填充它并将其加载到我的网络浏览器中时,一切正常,然后当我想要更新版本时,我使用以下代码重新加载 SVG

Public Sub DrawSVGinWebBrowserControl()
Dim text As String = XSchemaSVG.InnerXml
WebBrowser1.DocumentText = "<!DOCTYPE HTML><html><head><meta http-equiv=""x-ua-compatible"" content=""IE=11""><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8""><title>SVG overzicht</title> </head><body>" & text & "</body></html>"
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Clear XSchemaSVG
XSchemaSVG.RemoveAll()
'Draw new SVG in XSchemaSVG
DrawOverzichtSVG()
'load new SVG in webbrowser control 
DrawSVGinWebBrowserControl()
End Sub

但是 Web 浏览器控件中的图片不会更改。我认为这与我清除XMLdocument的方式有关,或者与我在Web浏览器控件中加载它的方式有关,任何人都可以在这里帮助我并告诉我我做错了什么吗?以及如何解决它?

编辑:所以我检查了,我可以验证我的XMLdocument是否正在更新。 所以问题出在重新加载 Web 浏览器控件。

我通过在 DrawSVGinwebbrowser 子上使用以下代码来解决问题

Public Sub DrawSVGinWebBrowserControl()
Dim text As String = XSchemaSVG.InnerXml
WebBrowser1.DocumentText = "0"
WebBrowser1.Document.OpenNew(True)
WebBrowser1.Document.Write("<!DOCTYPE HTML><html><head><meta http-equiv=""x-ua-compatible"" content=""IE=11""><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8""><title>SVG overzicht</title> </head><body>" & text & "</body></html>")
WebBrowser1.Refresh()
End Sub

最新更新