2

async functions の呼び出し中にプログレス バーとプログレス リングを追加した経験があります。プログレス バーとプログレス リングの IsIndeterminate プロパティと IsActive プロパティのみに依存するため、これは簡単な作業でした。

今私の質問は、Windows 8 アプリの webview コントロールで一部の web ページを読み込んでいるときに、アプリに進行状況バー/リングを表示する方法です。

Web ビューの 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 コントロールが Web ページを完全にロードしたかどうかを判断するイベントにコントロールを転送します。

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

以下の関数を定義して、Web ページが完全にロードされたときに何が起こるかを処理します (この時点でプログレス バー/リングを非表示にすることが目的です)。

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またはNavigatedでビジー状態をオフにできるはずですNavigated。リダイレクトで起動するため、元のリンクと比較する必要があると思います。

于 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 に答える