2009-06-26 43 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一个“不信任票”。 希望未来能够支持导航风格的应用程序。

如果您有一个适合导航隐喻的应用程序,可能值得研究这些替代框架。 (当然,这些工具包有自己的学习曲线)

我仍然在寻找一个很好的方法来解决这个问题。