c# - WP7 WebBrowser导航事件处理程序



我不知道如何在WebBrowser控件上捕获导航事件。基本上,我想弄清楚当用户点击页面上的链接时,如何触发进度条显示。

下面是我用来显示进度条并在页面加载时隐藏它的代码。有人可以帮助我与事件处理程序导航?
    private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
        progressBar.IsIndeterminate = true;
        progressBar.Visibility = Visibility.Visible;
        webBrowser.Navigate(new Uri(MY_URL, UriKind.Absolute));
        webBrowser.LoadCompleted += new System.Windows.Navigation.LoadCompletedEventHandler(PageLoadCompleted);
        webBrowser.Navigating = ?
    }
    private void PageLoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
    {
        progressBar.IsIndeterminate = false;
        progressBar.Visibility = Visibility.Collapsed;
    }

您寻找的文档在这里。你可以写

webBrowser.Navigating += webBrowser_Navigating;
// ...
void webBrowser_Navigating( object sender, NavigatingEventArgs e )
{
  // ...
}

by VisualStuart的回答帮我解决了问题。

我现在的工作代码如下:

private void MyButton1_Click(object sender, RoutedEventArgs e)
{
    MyprogressBar.IsIndeterminate = true;
    MyprogressBar.Visibility = Visibility.Visible;
    string site = MyTextBox1.Text;
    webBrowser1.Navigate(new Uri(site, UriKind.Absolute));
    webBrowser1.Navigating += webBrowser1_Navigating;
    webBrowser1.LoadCompleted += new System.Windows.Navigation.LoadCompletedEventHandler(webBrowser1_LoadCompleted);
}
private void webBrowser1_Navigating(object sender, NavigatingEventArgs e)
{
    MyTextBox1.Text = e.Uri.ToString();
    MyprogressBar.IsIndeterminate = true;
    MyprogressBar.Visibility = Visibility.Visible;
}

最新更新