2010-11-22 6 views
3

Ich habe WP7-Anwendung mit mehreren Seiten. Wenn ein Benutzer durch sie navigiert, dauert es einige Zeit, um Informationen zu laden. Bevor ich ihm also die Seite zeige, möchte ich "Loading ..." anzeigen. I erstellt Fortschrittsbalken und platziert es auf der Seite:Wie wird das ProgressBar-Steuerelement angezeigt, während eine Seite geladen wird?

<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> 

Und ich versuche, es zu zeigen (und alles andere auszublenden) in der Seite Konstruktor, und verstecken sie (und alles andere zeigen) in Seite. Geladener Handler.

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; 
    } 

Aber es funktioniert nicht. Irgendwelche Ideen? Vielen Dank!

Antwort

2

Alex zeigt eine Fortschrittsanzeige, während die App hier startet.

Creating a Splash Screen with a progress bar for WP7 applications. - Alex Yakhnin's Blog

+0

Dank! Ich habe diese Lösung benutzt. Ich fand auch ein anderes: http://msdn.microsoft.com/en-us/library/gg442303(v=VS.92).aspx –

+0

Nur eine Anmerkung, dass, wenn Sie an einen unbestimmten Fortschrittsbalken denken, Sie sollte sich die PerformanceProgressBar anschauen - http://www.jeff.wilcox.name/2010/08/performanceprogressbar/ Die aktuelle Ootb ist schlecht in vielen Szenarien und ich bin mir sicher, dass sie es irgendwann in der In der Zwischenzeit sollten Sie PerformanceProgressBar verwenden. :) –

0

Obwohl Sie nicht direkt auf den Startbildschirm manipulieren können (was statisch ist), können Sie ein Popup angezeigt werden (übrigens, das ist genau das, was in Alex-Lösung erfolgt) und für einen Hintergrund warten (lesen : loading) Vorgang abgeschlossen.

0

Ja, Sie müssen eine separate XAML-Popup-Seite erstellen, die beim Hochfahren der App geladen wird. Für weitere Informationen über Splash Screens gibt es ein Codebeispiel aus MSDN:

"Code Sample for Splash Screen"

Verwandte Themen