WPF中的页面与窗口?

Posted

技术标签:

【中文标题】WPF中的页面与窗口?【英文标题】:Page vs Window in WPF? 【发布时间】:2011-07-11 18:19:09 【问题描述】:

在解决方案资源管理器中添加新文件时,WPF 中的页面和窗口有什么区别?

【问题讨论】:

【参考方案1】:

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

Windows 只是普通的 WPF 应用程序 Windows,但可以通过 Frame 容器托管 Pages

【讨论】:

如果打开一个新页面,前一个页面被破坏并且它的代码停止执行,但是当一个新窗口打开时,两个窗口的代码并行运行,除非使用ShowDialog();【参考方案2】:

一个窗口总是独立显示,一个页面旨在显示在框架内或导航窗口内。

【讨论】:

“可以将页面显示为(主)窗口”,如何? Me.Content = (New PageClass) 很简单。【参考方案3】:

页面控件可以包含在窗口控件中,反之亦然

您可以使用 NavigationWindow 和 Frame 控件在 Window 控件中使用 Page 控件。 Window 是必须用于保存/托管其他控件(例如 Button)作为容器的根控件。 Page 是一个控件,可以托管在其他容器控件中,例如 NavigationWindow 或 Frame。页面控件有自己的目标,可以像其他控件(例如 Button)一样提供服务。页面是创建类似浏览器的应用程序。因此,如果您在 NavigationWindow 中托管 Page,您将获得内置的导航实现。页面旨在用于导航应用程序(通常带有后退和前进按钮,例如 Internet Explorer)。

WPF 使用 Page 类为独立应用程序内的浏览器样式导航提供支持。用户可以创建多个页面,在这些页面之间导航以及数据。有多种方法可以通过一个页面导航到另一个页面。

【讨论】:

以上是关于WPF中的页面与窗口?的主要内容,如果未能解决你的问题,请参考以下文章

WPF关闭子窗口时刷新父页面列表数据,WPF窗体间传参

从框架内关闭 wpf 窗口

wpf 怎么实现 窗口和窗口之间的传值?页面和页面之间?窗口和页面之间?

WPF 中页面和窗口之间的导航

在wpf中frame内的Page页面的控件要怎么关闭窗口

在 WPF Frame 控件中关闭导航页面声音