Ihre Frage ist sehr vage, aber es gibt viele Möglichkeiten, um einen Ladezustand zeigt, defering Bindung und mit vielen Kontrollen in einem Dreh:
Wenn Sie etwas tun müssen, um die Zeit in Anspruch nehmen kann, dann tut es aus der UI-Thread
Wenn Sie etwas tun, was Zeit braucht, sollten Sie dem Benutzer eine Meldung anzeigen, dass etwas passiert. Dies könnte eine Nachricht oder eine Animation sein, je nach dem Zeitraum und dem Rest der Anwendung.
Wenn Ihr Inhalt stark von Daten abhängt, die aus dem Internet geladen werden, müssen Sie beim Auslesen der Daten entsprechende Zeitüberschreitungen haben. Verfügen Sie auch über nützliche Nachrichten, wenn keine Datenverbindung verfügbar ist.
Wenn Ihre Benutzeroberfläche stark von extern geladenen Details abhängig ist, können Sie die Steuerelemente der Benutzeroberfläche hinzufügen, sobald Sie wissen, was Sie anzeigen müssen. Wenn die Benutzeroberfläche immer dieselben Steuerelemente, aber unterschiedliche Inhalte enthält, können Sie eine Datenbindung an Objekte mit Platzhalterinhalten in Betracht ziehen, die aktualisiert werden, wenn die relevanten Informationen vom Webdienst heruntergeladen werden.
Wenn Sie viele Elemente in Ihrem Pivot haben, sollten Sie das Laden einzelner Elemente in Betracht ziehen, damit Sie sie nicht laden, bevor sie benötigt werden. Laden Sie nur die Daten auf die Elemente neben dem angezeigten. Auf diese Weise erscheinen sie dem Benutzer vorinstalliert, erleichtern jedoch die Auswirkungen auf das System.
ok, also sollte ich programmatisch die UI-Elemente in meinem Loaded Callback hinzufügen? –
Sie könnten sie programmatisch hinzufügen; Es hängt wirklich von den UI-Elementen ab, die Sie auf dieser Seite haben. Wenn Sie beispielsweise nur eine ListBox haben, die in XAML deklariert werden kann, die Sichtbarkeit jedoch deaktiviert ist, laden Sie das gebundene Ressourcenelement mit den Daten und machen Sie das Element dann sichtbar. – Praetorian