2

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

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

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

4

3 回答 3

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页面。

于 2013-03-21T17:19:21.230 回答
1

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

于 2013-03-21T00:29:07.970 回答
0

只是一个更正,如果您将它用于手机,那么而不是

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

事件处理程序将是

`new System.Windows.Navigation.LoadCompletedEventHandler(WebView1_LoadCompleted);`
于 2014-02-01T09:39:04.903 回答