2009-06-26 44 views

回答

5

要回答你的第二個問題,是的,WPF導航可以與MVVM模式相當成功地使用。

就第一個問題而言,最好的答案是'它取決於'。具體而言,它取決於您嘗試創建的應用程序;某些應用程序是邏輯上的「導航」應用程序,用戶需要以某種方式瀏覽一系列屏幕,而其他應用程序則有不同的範例。我可以給你的最好建議不是與它對抗 - 如果你的應用程序在導航上下文中有意義,那麼通過一切手段使用WPF導航,但是如果它沒有,那就不要試圖將它放在一個角度。

也許確定您的應用程序是否使用導航範例的最好方法是是否後退按鈕有意義;如果是這樣,那麼您將需要使用Frame或NavigationWindow,以便您可以使用內置的WPF導航支持。

+0

你碰巧知道在獨立的WPF應用程序中使用導航的好例子嗎? – dthrasher 2010-05-07 15:45:09

1

我不認爲System.Windows.Navigation已準備好用於生產應用程序。我發現,如果您需要在頁面之間傳遞數據,那麼在WPF4應用程序中使用它是令人沮喪的體驗。

我也遇到了一個嚴重的錯誤,導致databinding to fail after using back or forward navigation

MVVM,MVC和MVP風格應用程序存在許多WPF工具包和框架。幾乎所有這些都取代了Microsoft提供的定製導航服務的超鏈接,頁面,框架和日誌類。所以開發者社區似乎已經給System.Windows.Navigation一個「不信任票」。 希望未來能夠支持導航風格的應用程序。

如果您有一個適合導航隱喻的應用程序,可能值得研究這些替代框架。 (當然,這些工具包有自己的學習曲線)

我仍然在尋找一個很好的方法來解決這個問題。