2011-11-01 71 views
0

我有一個應用程序,其中有一個小型面板需要支持瀏覽器,如導航,例如後退,前進和回家。因此它也需要保存用戶已經去過的面板的歷史。我不認爲我可以使用NavigationWindow,因爲只有一小部分窗口會支持導航。爲WPF自定義導航創建容器

這樣做的最佳做法是什麼?我一直在尋找NavigationService和導航命令,如NavigateBack等等。但將這些東西綁在一起很難。

我也在使用棱鏡/ MEF。

回答

1

您需要使用該地區的期刊。如果獲得區域管理器並獲得對面板定義的棱鏡區域實例的引用。然後,您可以使用該地區的導航服務日誌返回。如果您需要在導航到下一個視圖時執行某些操作,您還可以註冊到該區域的NavigationService的Navigated事件。

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