问题描述
我在 WebView2 中有一个问题我已经加载了一个页面,如果它的内容发生变化,我需要重新加载吗?
以前的项目使用 Webbrowser.DocumentCompleted,现在不使用 Webbrowser。
谢谢
解决方法
我建议您在 WPF 项目中尝试以下操作。
在您的窗口中 XAML
<WV:WebView2 x:Name="WebView"
Source="https://YOURURL" CoreWebView2InitializationCompleted="WebView_CoreWebView2InitializationCompleted" />
在你后面的代码中使用这样的东西。您需要等待 CoreWebView2 对象被创建。
private void WebView_CoreWebView2InitializationCompleted(object sender,Microsoft.Web.WebView2.Core.CoreWebView2InitializationCompletedEventArgs e)
{
if (e.IsSuccess) System.Diagnostics.Debug.Print("WebView is ready for native window.");
this.WebView.CoreWebView2.NavigationStarting += CoreWebView2_NavigationStarting;
this.WebView.CoreWebView2.NavigationCompleted += CoreWebView2_NavigationCompleted;
}
private void CoreWebView2_NavigationCompleted(object sender,Microsoft.Web.WebView2.Core.CoreWebView2NavigationCompletedEventArgs e)
{
Debug.Print("++++++++++++++++++++++++NavigationCompleted++++++++++++++++++++++++++++");
Debug.Print("NavigationId: " + e.NavigationId.ToString());
Debug.Print("URL: " + this.WebView.CoreWebView2.Source);
Debug.Print("++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
private void CoreWebView2_NavigationStarting(object sender,Microsoft.Web.WebView2.Core.CoreWebView2NavigationStartingEventArgs e)
{
Debug.Print("#######################NavigationStarting##############################");
Debug.Print("NavigationId: " + e.NavigationId.ToString());
Debug.Print("URL: " + e.Uri);
Debug.Print("#####################################################");
}