应用程序开发
Windows Presentation Foundation(WPF)是一种演示框架,可用于开发以下类型的应用程序:
独立应用程序(传统样式的 Windows 应用程序,作为安装到客户端计算机并从其运行的可执行程序集) 。
XAML 浏览器应用程序(XBAP)(由作为可执行程序集生成的导航页和由 Web 浏览器托管的应用程序(如 Microsoft Internet Explorer 或 Mozilla Firefox)组成)。
自定义控件库(包含可重用控件的非可执行程序集)。
类库(包含可重用类的非可执行程序集)。
注意
强烈建议不要在 Windows 服务中使用 WPF 类型。 如果你尝试在 Windows 服务中使用这些功能,它们可能无法按预期工作。
若要生成这组应用程序,WPF 将实现一系列服务。 本主题概述了这些服务以及查找详细信息的位置。
应用程序管理
可执行 WPF 应用程序通常需要一组核心功能,其中包括:
创建和管理常见的应用程序基础结构(包括创建入口点方法和用于接收系统和输入消息的 Windows 消息循环)。
跟踪应用程序生存期并与之交互。
检索和处理命令行参数。
共享应用程序范围属性和 UI 资源。
检测和处理未经处理的异常。
返回退出代码。
管理独立应用程序中的窗口。
在 XAML 浏览器应用程序 (XBAP) 中跟踪导航,以及在具有导航窗口和框架的独立应用程序中进行跟踪。
这些功能由 Application 类实现,您可以通过使用 添加的应用程序定义将其添加到您的应用程序中。
有关详细信息,请参阅 应用程序管理概述。
WPF 应用程序资源、内容和数据文件
WPF 为嵌入式资源扩展了 Microsoft .NET Framework 中的核心支持,并支持三种类型的非可执行数据文件:资源、内容和数据。 有关详细信息,请参阅 WPF 应用程序资源、内容和数据文件。
支持 WPF 非可执行数据文件的关键组件是能够使用唯一 URI 识别和加载这些文件。 有关详细信息,请参阅 WPF中的
Windows 窗口和对话框
用户通过窗口与 WPF 独立应用程序交互。 窗口的目的是托管应用程序内容并公开应用程序功能,这些功能通常允许用户与内容进行交互。 在 WPF 中,窗口由 Window 类封装,该类支持:
创建和显示窗口。
建立所有者/拥有的窗口关系。
配置窗口外观(例如,大小、位置、图标、标题栏文本、边框)。
跟踪窗口的生命周期并与之交互。
有关详细信息,请参阅 WPF Windows 概述。
Window 支持创建称为对话框的特殊类型的窗口。 可以创建模态和无模态的对话框类型。
为方便起见,以及应用程序可重用性和一致的用户体验的好处,WPF 公开了三个常见的 Windows 对话框:OpenFileDialog、SaveFileDialog和 PrintDialog。
消息框是一种特殊类型的对话框,用于向用户显示重要文本信息,并询问简单的“是/否/确定/取消”问题。 使用 MessageBox 类创建和显示消息框。
有关详细信息,请参阅 对话框概述。
导航
WPF 支持使用页面(Page)和超链接(Hyperlink)的 Web 样式导航。 可以通过多种方法实现导航,其中包括以下内容:
Web 浏览器中托管的独立页面。
编译成在 Web 浏览器中托管的 XBAP 的页面。
已编译为独立应用程序并由导航窗口(NavigationWindow)托管的页面。
由框架(Frame)托管的页面,可以托管在单独的页面中,或编译为 XBAP 或独立应用程序中的页面。
为了便于导航,WPF 实现以下内容:
NavigationService,是一个共享的导航引擎,用于处理 Frame、NavigationWindow和 XBAP 的导航请求,以支持在应用程序内导航。
用于启动导航的导航方法。
用于跟踪导航的生命周期并与之互动的导航事件。
使用日志用于记住后退和向前导航,并且可以对其进行检查和操作。
有关信息,请参阅 导航概述。
WPF 还支持称为结构化导航的特殊类型的导航。 结构化导航可用于调用一个或多个页面,以与调用函数一致的结构化且可预测的方式返回数据。 此功能取决于 PageFunction<T> 类,结构化导航概述对此进行了进一步介绍。 PageFunction<T> 还有助于简化复杂导航拓扑的创建,导航拓扑概述中所述。
托管
XBAP 可以托管在 Microsoft Internet Explorer 或 Firefox 中。 每个托管模型都有其自身的一些注意事项和限制条件,这些都涵盖在托管中。
构建和部署
尽管可以使用命令行编译器从命令提示符生成简单的 WPF 应用程序,但 WPF 与 Visual Studio 集成,以提供简化开发和生成过程的其他支持。 有关详细信息,请参阅 生成 WPF 应用程序。
根据生成的应用程序类型,有一个或多个部署选项可供选择。 有关详细信息,请参阅 部署 WPF 应用程序。
相关主题
标题 | 描述 |
---|---|
应用程序管理概述 | 概述 Application 类,包括管理应用程序生存期、窗口、应用程序资源和导航。 |
WPF 中的 Windows | 提供有关在应用程序中管理窗口的详细信息,包括如何使用 Window 类和对话框。 |
导航概述 | 概述如何管理应用程序页面之间的导航。 |
托管 | 提供有关 XAML 浏览器应用程序(XBAP)的概述。 |
构建和部署 | 介绍如何生成和部署 WPF 应用程序。 |
Visual Studio 中的 WPF 简介 | 介绍 WPF 的主要功能。 |
演练:我的第一个 WPF 桌面应用 | 演示如何使用页面导航、布局、控件、图像、样式和绑定创建 WPF 应用程序的演练。 |