Создание контейнера для пользовательской навигации WPF

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

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

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


person Jeremy Edwards    schedule 01.11.2011    source источник


Ответы (1)


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

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