我正在将字符串加载到WebBrowser控件,如下所示:
ArticleContent.NavigateToString("<p style='font-size:20px; font-weight:bold;'>" +article.Title + "</p><br/>" + article.Text);
article.Title and article.Text只是HTML字符串。
因此,当我导航到此页面时,我正在尝试显示加载图标:
LoadingIcon.Visibility = Visibility.Visible;
然后在将数据加载到WebBrowser控件后,我禁用加载图标:
ArticleContent.NavigateToString("<p style='font-size:20px; font-weight:bold;'>" + article.Title + "</p><br/>" + article.Text);
loadingIcon.Visibility = Visibility.Collapsed;
问题是加载图标的禁用时间早于WebBrowser内容显示。是否有任何事件要处理内容加载或某事......
编辑:
事件NAVIGATED有效,但也有一点延迟...答案 0 :(得分:1)
.net代码无法直接知道嵌入式浏览器何时完成呈现其内容。
如果您渲染了整个HTML文档,则可以使用DOM上的onload
事件来了解它何时完成渲染。在那种情况下,您可以使用window.external.Notify()
回调您的.net代码来执行一项功能,该功能将改变控件的可见性。
它有点冗长,但会在内容呈现之前避免显示控件。