我有在调用异步函数时添加进度条和进度环的经验。这是一项简单的工作,因为它仅依赖于进度条和进度环的IsIndeterminate和IsActive属性。
现在我的问题是,当一些网页加载到Windows 8应用的webview控件中时,如何在应用中显示进度条/响铃。
我正在搜索属性或事件,它告诉Web视图中的网页当前处于加载状态。如果有人遇到这样的房产,如果您有任何其他解决方案,请写下来,请告诉它!
答案 0 :(得分:7)
首先声明代理
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页。
答案 1 :(得分:1)
您可以使用Navigated
在DocumentCompleted或Navigated
中关闭忙碌,我相信您必须与原始链接进行比较,因为它会在重定向时触发。
答案 2 :(得分:0)
只需更正,如果您将其用于手机,则代替
`new Windows.UI.Xaml.Navigation.LoadCompletedEventHandler(WebView1_LoadCompleted);`
事件处理程序将是
`new System.Windows.Navigation.LoadCompletedEventHandler(WebView1_LoadCompleted);`