2011-04-27 48 views
0

我正在開發由兩頁組成的應用程序。第一頁是一個菜單,您可以導航到第二頁,這是某種地圖。此應用程序假設在Windows Phone 7和Silverligth 4上運行。所有內容都是在MVVM模式上構建的。對於S4我使用Unity,對於WP7我創建了非常簡單的IoC容器。WP7和silverlight類似的導航流程

深入淺出,我需要爲這個應用程序提供一個通用的導航系統。我知道S4支持新的接口INavigationContentLoader,它允許我們使用我們自己的內容加載器。不幸的是,這不適用於WP7。 我也在考慮利用Shell/Frame方法。基本上我們有一個可更換內容的外殼或框架控件。本例中的導航是關於替換內容。但是我擔心這個解決方案對WP7無法正常工作,因爲BACK按鈕將關閉應用程序,而不是回到上一頁。 夥計們,你有其他想法嗎?你有什麼解決方案?我想強調這個解決方案應該與MVVM一致。 最好的問候亞雷克

+0

好了,我會試着問這個問題的另一種方式圓。我如何在遵循MVVM模式的WP7中進行導航。所以,我不需要直接從視圖導航,而是從視圖模型導航。任何提示?謝謝 – Jarek 2011-04-27 11:29:19

回答

0

對於這樣一個小的簡單的應用程序我想創建一個圍繞選擇導航模式依賴於平臺,我自己的包裝。
喜歡的東西:

void MyNavigate(uri page) 
{ 
#IFDEF WINDOWS_PHONE 
    NavigationService.Navigate(page); 
#ELSEIF 
    NavigateTo(page); // or whatever is appropriate to your Silverlight 4 app 
#ENDIF 
} 
+0

嗨,謝謝,但這是從視圖運行。我需要遵循MVVM指南的解決方案。 – Jarek 2011-04-27 10:42:34

+0

@Jarek您是否使用特定的MVVM框架? – 2011-04-27 12:39:18

+0

@Jarek你現在怎麼做導航? – 2011-04-27 12:39:34