Search code examples
c#windows-phone-7windows-phone-8

How to show progressbar until WP8 WebBrowser control loaded the URL?


I have a WebBrowser control and I want to show some url on this control. Until the webbrower loaded the page, I need to show some progressbar or animation.

Please help me, here's what I have:

XAML:

<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
    <ProgressBar x:Name="progressbar" IsIndeterminate="True"/>
    <phone:WebBrowser x:Name="webbrw" IsScriptEnabled="True"/>
</Grid>

strong text

public MainPage()
{
    InitializeComponent();

    // Sample code to localize the ApplicationBar
    //BuildLocalizedApplicationBar();
    Loaded += MainPage_Loaded;
}

void MainPage_Loaded(object sender, RoutedEventArgs e)
{
    webbrw.LoadCompleted += webbrw_LoadCompleted;
    webbrw.Source = new Uri("http://www.youtube.com/user/tseries");
}

void webbrw_LoadCompleted(object sender, NavigationEventArgs e)
{
    progressbar.IsIndeterminate = false;
}

Solution

  • If you simply want to show the bar while loading the page and hide it afterwards, you're using the wrong property. The IsIndeterminate property reports a generic process (true) or one based on a value (false). To hide the progressbar you should use:

    progressbar.Visibility = Visibility.Collapsed;