我有在调用异步函数时添加进度条和进度环的经验。这是一项简单的工作,因为它分别仅依赖于进度条和进度环的 IsIndeterminate 和 IsActive 属性。
现在我的问题是,如何在 Windows 8 应用程序的 webview 控件中加载某些网页时在应用程序中显示进度条/环。
我正在搜索一个属性或事件,它告诉 web 视图中的网页当前处于加载状态。如果有人遇到这样的财产,请写下来,如果您有其他解决方案,请告诉它!
我有在调用异步函数时添加进度条和进度环的经验。这是一项简单的工作,因为它分别仅依赖于进度条和进度环的 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);
定义以下函数来处理网页完全加载时发生的情况(您的目标是此时隐藏进度条/环)
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);`