C# WPF中的页面、框架和导航窗口

11
  • 我想知道在C#WPF中,页面、框架和导航窗口之间的区别。
  • 对于WPF Windows应用程序,最好的选择是什么?
  • 在我的应用程序中,如何制作固定部分(包含主按钮)和可变部分(显示页面),在单击固定部分中的按钮后更改它们?
  • 有没有提供从入门到专业的C#WPF视频教程的好网站?

谢谢

2个回答

10
一个Page很像一个用户控件,只是它在Frame内显示,该Frame又是NavigationWindow的一部分。一个NavigationWindow是一种特殊类型的窗口,允许页面导航,并能显示用于导航页面的相应控件。
如果您想要类似向导的功能或者用户体验应该与在Web上浏览获得的体验相当,则分页应用程序是一个不错的选择。在许多情况下,使用标准WPF窗口是更好的选择。 NavigationWindow已经包含了一个可以包含控件的"固定部分"。您还可以使用普通窗口,在其中放置一个Frame,然后通过适当的布局创建自己的"固定部分"。导航将归结为调用Frame提供的导航方法。

@ Thorsten Dittmar 但我认为在导航窗口中,您无法更改固定部分的按钮样式,因此无论您做出什么更改,它都将保持网页的相同形状...所以我认为在我的Windows应用程序的主窗口中制作一个固定部分,并使用框架作为可更改部分是个好选择...对吗? - Hatem
1
我想我已经读过如何为默认导航控件设置主题的相关内容。当然,如果您想完全控制布局,则在普通窗口中使用 Frame 是最灵活的选择。当然,这一切都只有在使用导航对于您创建的应用程序类型是一个好选择时才是正确的。可导航的用户界面并不适用于每种类型的应用程序。 - Thorsten Dittmar
@Thorsten Dittmar...我不想在我的应用程序中使用导航控件,除非是在应用程序的非常小的部分中...但是我的应用程序作为一般想法将是一个常规的Windows应用程序,其中包含按钮以显示特定部分和编辑信息。 - Hatem
你不需要“设计框架”。你只需在窗口中添加一个“Frame”控件并创建多个“Page”。每个页面都是(就像窗口一样)WPF文档和类的组合。无论你是否将它们存储在不同的解决方案中都没有关系。个人而言,我会将它们保存在同一个解决方案中。 - Thorsten Dittmar
@ Thorsten Dittmar 非常感谢您的时间和努力。 - Hatem
显示剩余5条评论

0

这个问题的答案中得知:

页面旨在用于导航应用程序(通常带有后退和前进按钮,例如Internet Explorer)。页面必须托管在NavigationWindowFrame中。

最佳选择取决于您想创建什么类型的应用程序。它是向导或导航类型的应用程序,还是只是具有一个窗口(可能带有选项卡)的普通应用程序?

如果我要制作WPF应用程序,我肯定会考虑使用Caliburn.Micro这样的MVVM框架。它有一些非常强大的机制来处理Screens、Conductors 和 Composition, 除了鼓励您使用MVVM模式解耦您的应用程序。 Caliburn.Micro的作者Rob Eisenberg,在该项目文档下编写了一些教程,并对如何使用该框架进行了广泛的解释。还有很多网络资源,可以在Google中进行搜索! :)

我还可以推荐Pluralsight的WPF和XAML基础知识WPF高级主题,它们应该涵盖关于WPF值得了解的所有内容 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接