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