1

私は小さな Windows Phone プロジェクトに取り組んでいます。

このプロジェクトでは、WebBrowser コンポーネント (Android の WebView など) を使用して、会社のモバイル Web サイトをアプリケーションとして表示します。

リンクをクリックするたびに、プログレスバー/ダイアログ/インジケーターを表示する必要があります。

どうすればそれを処理できますか?たとえば、ニュース リンクをクリックすると、ロードなどの何かがユーザーに表示されます。

アップデート :

public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            Browser.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(Browser_Navigated);
            Browser.Navigating += new EventHandler<NavigatingEventArgs>(Browser_Navigating);
            Browser.ScriptNotify += new EventHandler<NotifyEventArgs>(Browser_ScriptNotify);
        }

        void Browser_ScriptNotify(object sender, NotifyEventArgs e)
        {
            Browser.Navigate(new Uri(e.Value, UriKind.Absolute));
        }

        void Browser_Navigating(object sender, NavigatingEventArgs e)
        {
            ProgBar.Visibility = Visibility.Visible;
        }

        void Browser_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
        {
            ProgBar.Visibility = Visibility.Collapsed;
        }
    }

私はこのコードを書きましたが、進行状況については何も表示されません。

4

1 に答える 1

0

プログレスバーを開始するNavigatingには、コントロールのイベントをインターセプトする必要があります。WebBrowser

ローディング オーバーレイのプロパティを変更できますVisibility。たとえば、半透明RectangleProgressBar.

LoadComplete次に、またはイベントをインターセプトし、NavigationFailedこれらを使用してオーバーレイを削除する必要があります。

一部の URL (tel:リンクなど) はNavigatedイベントを発生させないことに注意してください。そのため、これらの URL には特別な処理が必要になる場合があります。

于 2013-04-17T12:44:00.753 に答える