我什么时候应该使用UserControl而不是Page?

dth*_*her 8 wpf user-controls mvvm

我注意到许多WPF MVVM框架似乎避免使用NavigationWindow和Page控件来支持使用嵌套UserControls组合页面.

NavigationWindow和Page提供了在日志中启用后退和前进导航的简便方法,以及提供在页面之间传递数据的简便方法.我见过的大多数MVVM框架都以各种方式重新实现这些功能.

是否有特定的理由避免使用NavigationWindow和Page?

jas*_*onk 10

"NavigationWindow不会在导航历史记录中存储内容对象的实例.相反,每次使用导航历史记录导航时,NavigationWindow都会创建内容对象的新实例.此行为旨在避免在大数据和因此,内容的状态不会从一个导航记录到下一个导航.但是,WPF提供了几种技术,您可以通过这些技术为导航历史记录中的一段内容存储一段状态. ......"

http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationwindow.aspx

  • 接得好.因此,也许NavigationWindow和Page类与典型的业务线应用程序相关性较低.虽然让我感到惊讶的是,如此多的MVVM框架完全避开它们. (2认同)