Очистка прямых записей в NavigationService

У меня есть небольшой пример приложения, размещенного в WPF NavigationWindow. Он имеет три страницы (A, B, C), и пользователю доступны три кнопки: Назад и Вперед в окне навигации и Далее на первой странице.

Первая страница A содержит две радиокнопки. В зависимости от того, какая кнопка была выбрана пользователем, кнопка «Далее» переместит на страницу B или страницу C.

Проблема заключается в том, что пользователь использует кнопку «Назад» в окне NavigationWindow, изменяет выбор на первой странице и нажимает кнопку «Вперед» вместо кнопки «Далее». Обработчик следующего события переоценил бы логику и перешел на нужную страницу, но кнопка «Вперед» просто получает страницу из прямого стека.

Что рекомендовать в такой ситуации? Подробностей такого сценария на MSDN найти не удалось. Я считаю, что проще всего решить эту проблему, чтобы очистить стек вперед, когда пользователь изменил выбор на первой странице, поэтому доступна только кнопка «Далее». К сожалению, я не знаю, как это сделать.


person Karol Kolenda    schedule 13.05.2010    source источник


Ответы (1)


Пытаюсь решить довольно похожую проблему. Пока не работает, но я ищу WPF PageFunctions.

Хорошее описание функций страницы вы можете найти по ссылке ниже, а также самый большой обзор навигации WPF, который я видел

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

Также вы можете подавить прямую навигацию с помощью обработчика событий Navigating. См. Когда инициализируется NavigationService?

person Andrii    schedule 17.05.2010