Создайте контейнер для пользовательской навигации WPF - PullRequest
0 голосов
/ 01 ноября 2011

У меня есть приложение, в котором есть небольшая панель, которая должна поддерживать браузер, например, навигация назад, вперед и домой.Таким образом, он также должен хранить историю панелей, на которые ходил пользователь.Я не думаю, что могу использовать NavigationWindow, потому что только небольшая часть окна будет поддерживать навигацию.

Каков наилучший способ сделать это?Я смотрел на NavigationService и команды Navigation, такие как NavigateBack и т. Д. Но это довольно сложно связать вместе.

Я также использую Prism / MEF.

1 Ответ

1 голос
/ 01 ноября 2011

Вам нужно использовать журнал региона.Если вы получили менеджер региона и ссылку на экземпляр Prism Region, определенный для панели.Затем вы можете использовать журнал Журнала навигации для региона, чтобы вернуться.Вы также можете зарегистрироваться в событии Navigated службы NavigationService для региона, если вам нужно выполнить какое-либо действие при переходе к следующему представлению.

mainRegion = this.RegionManager.Regions["MainRegionName"];   
mainRegion.NavigationService.Navigated += NavigationService_Navigated; 
mainRegion.NavigationService.Journal.GoBack();
...