3 votes

Comment afficher le contrôle ProgressBar pendant le chargement d'une page ?

J'ai une application WP7 avec plusieurs pages. Lorsqu'un utilisateur navigue entre elles, le chargement des informations prend un certain temps. Avant de lui montrer la page, j'aimerais donc afficher le message "Loading ". J'ai créé une barre de progression et je l'ai placée sur la page :

    <StackPanel x:Name="progressBarMain" Grid.Row="1" Grid.ColumnSpan="2" Visibility="Collapsed">
        <TextBlock Text="Loading..." HorizontalAlignment="Center" VerticalAlignment="Center" />
        <ProgressBar Margin="10" Height="30" IsIndeterminate="True"/>
    </StackPanel>

Et j'essaie de l'afficher (et de cacher tout le reste) dans le constructeur de la page, et de le cacher (et de montrer tout le reste) dans le gestionnaire Page.Loaded.

    public SomePage()
    {
        InitializeComponent();

        Loaded +=OnSomePageLoaded;
        progressBarMain.Visibility = Visibility.Visible;
        ContentPanel.Visibility = Visibility.Collapsed;
    }

    private void OnSomePageLoaded(object sender, RoutedEventArgs e)
    {
        progressBarMain.Visibility = Visibility.Collapsed;
        ContentPanel.Visibility = Visibility.Visible;
    }

Mais ça ne marche pas. Avez-vous des idées ? Merci.

2voto

Mick N Points 14619

Alex montre ici l'affichage d'une barre de progression pendant le démarrage de l'application.

Création d'un Splash Screen avec une barre de progression pour les applications WP7. - Blog d'Alex Yakhnin

0voto

Den Delimarsky Points 12342

Bien que vous ne puissiez pas manipuler directement l'écran d'accueil (qui est statique), vous pouvez afficher une fenêtre contextuelle (d'ailleurs, c'est exactement ce qui est fait dans la solution d'Alex) et attendre qu'une opération d'arrière-plan (lire : chargement) se termine.

0voto

varunsrin Points 395

Oui, vous devrez créer une page pop-up XAML distincte qui sera chargée au démarrage de l'application. Pour plus de détails sur les écrans d'éclatement, il existe un exemple de code sur MSDN :

"Exemple de code pour l'écran de démarrage"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X