Windows Phone De Navigation De La Page
Je suis en train de travailler sur une application Windows Phone, voici le scénario que j'ai un problème:
Donc, j'ai trois pages, permet de l'appeler la page 1, 2, 3.
En page 1, j'ai un bouton appelé start downloading
. Cliquez sur le bouton et utilisez NavigateService.Navigate(page2Uri)
et accédez à la page2.
Page 2 permet de requête et télécharge des images de l'internet, dans sa OnNavigateTo
gestionnaire, je vérifie le retour de la pile, si elle est navigable à partir de la page 1, je vais faire le téléchargement. Dans la barre d'application de cette page, j'ai un bouton qui permet de naviguer à page3.
La Page 3 est une liste d'options qui permettront d'effectuer certains comportements sur l'image téléchargée dans page2. Une fois que je choisis une option, je veux revenir à la page 2, et effectuer certaines de comportement sur l'image chargée.
Ici la question se pose:
si j'utilise NavigateService.Navigate(page2Uri)
à naviguer à partir de page2 page3 pour, il va appeler le Page2 constructeur et OnNavigateTo
gestionnaire de nouveau, qui va l'amener à perdre chaque variable d'instance, il a déjà obtenu.
Mais si j'utilise NavigatService.GoBack
il va revenir à la page 2, puis se rend compte que la backstack entrée page1 (depuis page1 -> page2 -> page3). Donc, il faudra re-télécharger à nouveau le tout.
Je ne veux pas n'importe quoi pour être téléchargés à nouveau lorsque retourner le formulaire page3 pour page2. Donc, vous demandez-vous si quelqu'un a une bonne idée à ce sujet.
Merci.
OriginalL'auteur Allan Jiang | 2012-08-07
Vous devez vous connecter pour publier un commentaire.
Il y a plusieurs façons de transmettre les données vers une autre page:
Tout dépend du cas particulier. Je pense que Shawns suggestion de requête à l'aide de paramètres est probablement le plus "correct" MVVM, mais les autres méthodes ont leur place.
OriginalL'auteur Jon
Vous pouvez utiliser les paramètres de la requête et NavigationEventArgs pour vous aider.
Tout d'abord, vous pouvez utiliser le NavigationEventArgs pour déterminer si l'utilisateur est d'aller de l'avant ou de l'arrière-plan par la vérification de la NavigationMode.
Seconde, vous pouvez dire à la page 2 pour le téléchargement en utilisant les paramètres de la requête.
De page1:
et page2:
Être prudent sur la statique/propriétés globales. Ils ne seront pas conservés lors de l'application des pierres tombales. Assurez-vous de sauvegarder les données globales sur une base régulière (ou, au minimum, dans les événements d'application)
OriginalL'auteur Shawn Kendrot
Vous avez besoin pour mettre en œuvre la fonction suivante et le service de navigation.
Ces code va certainement résoudre votre problème
pour deux ou plusieurs paramètres, utilisez ce code
OnNavigatedTo, ajoutez le code suivant à votre Page2
Pour le dessus de OnNavigatedTo fonction des sorties de vrai et de l'image. Vous pouvez utiliser
MessageBox.Show();
de sortieOriginalL'auteur Daniel Nyamasyo