在webview控件中加载网页时,在Windows 8应用程序中显示进度条/响铃

我有调用异步函数时添加进度条和进度环的经验。 这是一项简单的工作,因为它只依赖于进度条和进度环的IsIndeterminate和IsActive属性。

现在我的问题是,当一些网页加载到Windows 8应用程序的webview控件中时,如何在应用程序中显示进度条/响铃。

我正在搜索属性或事件,它告诉Web视图中的网页当前处于加载状态。 如果有人遇到这样的房产,如果您有任何其他解决方案,请写下来,请告诉它!

首先声明委托

public delegate void LoadCompletedEventHandler( object sender, NavigationEventArgs e); 

在逻辑上将以下代码添加到进度条/响铃必须开始显示的区域中。

 ProgressRing1.IsActive = true; //for progress ring ProgressBar1.IsIndeterminate = true; //for progress bar 

添加此行以将控件传输到事件,该事件确定webview控件是否已完全加载网页。

 WebView1.LoadCompleted += new Windows.UI.Xaml.Navigation.LoadCompletedEventHandler(WebView1_LoadCompleted); 

定义以下function以处理网页满载时发生的情况(您的目标是在此时隐藏进度条/响铃)

 void WebView1_LoadCompleted(object sender, Windows.UI.Xaml.Navigation.NavigationEventArgs e) { //code for hiding progress bar/ring ProgressRing1.IsActive = false; //for progress ring ProgressBar1.IsIndeterminate = false; //for progress bar } 

如需进一步参考,您可以查看此MSDN页面。

您应该可以在DocumentCompleted或Navigated关闭忙碌,使用Navigated我相信您必须与原始链接进行比较,因为它会在重定向上触发。

只是一个纠正,如果你用它来做电话,那么而不是

 `new Windows.UI.Xaml.Navigation.LoadCompletedEventHandler(WebView1_LoadCompleted);` 

事件处理程序将是

 `new System.Windows.Navigation.LoadCompletedEventHandler(WebView1_LoadCompleted);`