谢谢
答案 0 :(得分:9)
Page
非常类似于用户控件,只有Frame
显示在NavigationWindow
内,NavigationWindow
也是NavigationWindow
的一部分。 Frame
是一种特殊的窗口,允许页面导航,并可以显示导航页面的相应控件。
如果您想要类似向导的功能,或者如果用户体验与浏览网页时的用户体验相当,则分页应用程序是一个不错的选择。在许多情况下,使用标准WPF窗口是更好的选择。
Frame
已包含可包含控件的“固定部分”。您也可以使用普通窗口,在其中放置{{1}},然后通过适当的布局创建自己的“固定部件”。然后导航将调用{{1}}提供的导航方法。
答案 1 :(得分:0)
从答案this question:
页面旨在用于导航应用程序(通常使用后退和前进按钮,例如Internet Explorer)。页面必须托管在
中NavigationWindow
或Frame
最佳选择取决于您要创建的应用程序类型。它是一个向导或导航类型的应用程序,还是只有一个窗口的常规应用程序(可能带有标签)?
我肯定会考虑使用像Caliburn.Micro这样的MVVM框架来制作WPF应用程序。除了鼓励您通过使用MVVM模式来解耦应用程序之外,它还有一些非常强大的机制来处理Screens, Conductors and Composition。 Caliburn.Micro的作者Rob Eisenberg撰写了一些教程,其中详细解释了如何使用the project's documentation下的框架。在interwebz周围还有很多资源,谷歌吧! :)
我还可以推荐Pluralsight的WPF and XAML Fundamentals和WPF Advanced Topics,它们应该涵盖了什么值得了解WPF:)