2010-11-09 9 views
0

J'ai un problème étrange: Je navigue vers une vue, je vérifie un ou plusieurs CheckBox et revenir en arrière (je n'ai pas outrepassé la méthode navigateFrom). Ensuite, je retourne à ma vue, et la case à cocher n'est pas cochée.Questions sur tombstoning dans Windows Phone 7

Est-ce un comportement normal? Je cette partie de la tombstonning "fonctionnalité" de Windows Phone 7? Si oui, cela signifie-t-il que chaque fois que je navigue à partir d'une vue, même si c'est dans mon application, je dois enregistrer l'état? (Oui je, qui aspire ...)

+0

La navigation dans votre propre application n'utilise pas la désactivation, donc le titre de votre question est un peu trompeur. Vous demandez vraiment sur les états d'affichage dans votre propre application. – ctacke

+0

Eh bien, si ce n'est pas tombstoning, qu'est-ce que c'est? Je navigue dans mon application, mais il semble que mes données sont perdues dans le processus –

Répondre

4

On dirait que ce que vous faites est:

  1. Naviguer vers une page
  2. changer quelque chose sur l'interface utilisateur de cette page (la case à cocher)
  3. Revenir de cette page
  4. Retour à la page à nouveau

Si c'est ce que vous faites, voici ce qui se passe.

Au point 3, la page est détruite. Si vous n'avez pas sauvegardé quelque chose, le système ne l'aura pas sauvegardé comme par magie.

Au point 4, une toute nouvelle page est créée. Si vous n'avez pas écrit de code pour configurer l'état de l'interface utilisateur, ce sera la valeur par défaut.

L'état coché de la case est probablement représentatif de quelque chose d'autre dans votre application. Vous devriez donc probablement regarder la liaison de son état vérifié au paramètre sous-jacent. Parce que le système ne peut pas savoir ce que vous voulez changer et ce qui ne l'est pas, il s'en remet à vous.

Il est généralement préférable d'enregistrer des données ou de modifier les paramètres dès qu'ils sont effectués. Indépendamment de la navigation dans votre application, votre application pourrait être désactivée à tout moment et vous voudrez probablement conserver l'application et ses données/état afin que l'utilisateur ne perde rien ou ne soit pas confus à cause de la désactivation.

+0

c'est exactement ce que je fais. Je l'ai donc fixé comme ceci: faire une reliure utilisée par ma vue avec des cases à cocher et ma vue "parent". Maintenant ça marche. Mais ce n'était pas un problème avec tombstoning, non? Je dois encore gérer un stockage persistant au cas où il serait tombstone? Merci pour ton aide ! –