在WPF中使用WebBrowser视图时确定页面何时完成加载(Windows.Controls.WebBrowser)

时间:2012-11-01 03:35:16

标签: c# .net wpf wpf-controls

我已经使用了“LoadCompleted”事件,基本上一旦收到事件,我需要截取屏幕截图(我已经建立了)。问题是一旦这个事件发生,屏幕截图只是空白(页面尚未加载),只有当我延迟5-10秒时,屏幕截图才能正常工作

现在我如何确定网页何时完全呈现?所有方面都被加载等等

1 个答案:

答案 0 :(得分:0)

您的问题是在加载页面之后但在呈现页面之前立即调用LoadCompleted事件。我不知道有什么方法可以确切地告诉它何时完成渲染,但您可以使用Dispatcher来确保在任何渲染发生后运行代码。

private void Browser_LoadCompleted(object sender, NavigationEventArgs e)
{
    Dispatcher.Invoke(TakeScreenshot, System.Windows.Threading.DispatcherPriority.Background);
}

private void TakeScreenshot()
{
    //insert your screenshot code here
}

您可能需要稍微尝试一下优先级,但背景似乎对我有用。