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

Vis*_*thi 2 c# microsoft-metro windows-8 windows-store-apps

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

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

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

Vis*_*thi 7

首先声明委托

public delegate void LoadCompletedEventHandler(  object sender,  NavigationEventArgs e);
Run Code Online (Sandbox Code Playgroud)

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

ProgressRing1.IsActive = true; //for progress ring
ProgressBar1.IsIndeterminate = true; //for progress bar
Run Code Online (Sandbox Code Playgroud)

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

WebView1.LoadCompleted += new Windows.UI.Xaml.Navigation.LoadCompletedEventHandler(WebView1_LoadCompleted);
Run Code Online (Sandbox Code Playgroud)

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

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
}
Run Code Online (Sandbox Code Playgroud)

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