2010-05-13 7 views
2

J'ai un petit exemple d'application hébergé dans WPF NavigationWindow. Il a trois pages (A, B, C) et trois boutons sont disponibles pour l'utilisateur: Précédent et Suivant sur la fenêtre de navigation et Suivant sur la première page.Effacement des entrées dans NavigationService

La première page A contient deux boutons radio. Selon le bouton sélectionné par l'utilisateur, le bouton Suivant permet de naviguer vers la page B ou la page C.

Le problème est que lorsque l'utilisateur utilise le bouton Précédent de la fenêtre Navigation, changez la sélection sur la première page et cliquez sur le bouton Suivant au lieu de Bouton suivant Le gestionnaire d'événement suivant réévaluerait la logique et passerait à la page appropriée, mais le bouton Suivant obtiendrait juste une page de la pile directe.

Quelle est l'action recommandée dans une telle situation? Je ne pouvais pas trouver les détails d'un tel scénario sur MSDN. Je crois que le plus simple pour résoudre ce problème serait d'effacer la pile avant lorsque l'utilisateur a modifié la sélection sur la première page afin que seul le bouton Suivant soit disponible. Malheureusement, je ne sais pas comment le faire.

Répondre

3

Essayer de résoudre un problème assez similaire. Pas encore le faire fonctionner, mais je regarde WPF PageFunctions.

Une bonne description des fonctions de page que vous pouvez trouver par le lien ci-dessous, ainsi que le plus grand aperçu sur la navigation WPF j'ai vu

http://www.paulstovell.com/wpf-navigation

Aussi, vous pouvez supprimer la navigation vers l'avant à l'aide gestionnaire d'événements Navigating. Voir When is NavigationService initialized?