当前位置: 首页 > 软件库 > 程序开发 > GUI开发框架 >

WPF

​用于构建 Windows 桌面应用程序的 UI 框架
授权协议 MIT
开发语言 C#
所属分类 程序开发、 GUI开发框架
软件类型 开源软件
地区 不详
投 递 者 汪鸿志
操作系统 Windows
开源组织 微软
适用人群 未知
 软件概览

WPF(Windows Presentation Foundation) 是微软推出的用于构建桌面客户端应用程序的 UI 框架,具有应用程序模型、控件、图形、布局、数据绑定和安全性等功能,属于 .NET Framework 3.0 的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

WPF 的核心是一个利用现代图形硬件的渲染引擎。

组成结构

Windows Presentation Foundation 由两个主要部分组成:引擎和编程框架。

1.Windows Presentation Foundation 引擎。Windows Presentation Foundation 引擎统一了开发人员和设计人员体验文档、媒体和 UI 的方式,为基于浏览器的体验、基于窗体的应用程序、图形、视频、音频和文档提供了一个单一的运行时库。Windows Presentation Foundation 使得应用程序不仅能够充分利用现代计算机中现有的图形硬件的全部功能,而且能够利用硬件将来的进步。例如,Windows Presentation Foundation 的基于矢量的呈现引擎使应用程序可以灵活地利用高 DPI监视器,而无需开发人员或用户进行额外的工作。 同样,当 Windows Presentation Foundation 检测到支持硬件加速的视频卡时,它将利用硬件加速功能。

2.Windows Presentation Foundation 框架。Windows Presentation Foundation 框架为媒体、用户界面设计和文档提供的解决方案远远超过开发人员现在所拥有的。Windows Presentation Foundation 的设计考虑了可扩展性,使开发人员可以完全在 Windows Presentation Foundation引擎的基础上创建自己的控件,也可以通过对现有 Windows Presentation Foundation 控件进行再分类来创建自己的控件。Windows Presentation Foundation 框架的核心是用于形状、文档、图像、视频、动画、三维以及用于放置控件和内容的面板的一系列控件。这些“自有控件”为开发下一代用户体验提供了构造块。

Microsoft 在引入 Windows Presentation Foundation 的同时,还引入了 XAML,这是一种公开表示 Windows应用程序用户界面的标记语言,可使开发人员和设计人员用来构建和重用 UI 的工具更加丰富。对于 Web 开发人员,XAML 提供了熟悉的 UI 说明模式。XAML 还使 UI 设计从基础代码中分离出来,从而使开发人员和设计人员之间的合作更加紧密。

WPF 需要使用 Visual Studio 进行开发:

  • Required Workloads:

    • .NET Desktop Development

    • Desktop development with C++

  • Required Individual Components:

    • C++/CLI support

    • Windows 10 SDK

WPF 结构

  • 由于原书作者的一再要求,在此声明,本书中的部分内容引用了原书名为《深入浅出WPF》的部分内容,如果博文不能满足你现有的学习需要,可以购买正版图书! 本人10月份提出离职,但是交接很慢,估计年底才会交接完,趁着交接之际,自学了一下WPF,因为这是微软未来的发展趋势,自WIN7以来包括前不久发布的WIN8,核心还是WPF,在此,将自己的学习成果做一个总结,同时将自己学习积累的东西和广大博友分享,希望大

  • 视频相关链接:https://www.bilibili.com/video/BV1iY411w7zD Windows Presentation Foundation (简称 WPF) WPF的概述: WPF 的核心是一个与分辨率无关且基于矢量的呈现引擎,旨在充分利用现代图形硬件。 WPF 通过一套完善的应用程序开发功能对该核心进行了扩展,这些功能包括可扩展应用程序标记语言 (XAML)、控件、数据

 相关资料
  • 问题内容: 我正在使用Eclipse SWT库进行GUI渲染,用Java为桌面编写一个应用程序。我认为SWT帮助Java克服了在桌面上接受的最大障碍:即为Java应用程序提供一致的,响应式的界面,该界面看起来与桌面上其他任何应用程序的界面都一样。但是,我觉得打包应用程序仍然是一个问题。 OS X本机提供了一种将Java应用程序包装在本机应用程序包中的简便机制,但是为Windows / Linux生

  • 有没有人有过自动化桌面应用程序(不是web)的经验?我需要一个类似于Appium的解决方案来将它与我的移动自动化集成(用Appium、Java编写)。 我们公司在3个平台上都有一个messenger客户端:Android、iOS和桌面。客户端数据在这些平台之间同步。我们已经有了移动平台的基本自动化(使用Appium)。现在我需要为桌面开发自动化。 我想要一个类似Appium的解决方案,这样就可以很

  • 在学习这本书的过程中,你已经掌握了很多关于 Git 的命令。虽然这些是在学习过程中不可缺少的,但是版本控制的核心并不是让你学习所有的命令和参数。 当你掌握一些基本的概念,再加上一个带有用户图形界面的应用程序的帮助,就可以让你的日常工作变得更加简单。一个最大的好处就是它会为你提供了一个可视化的用户操作界面。 在桌面应用程序中,很多任务使用起来会更加容易和更方便。并且你也不需要记住那几十个繁琐的 Gi

  • 谢谢你的帮助, 卢卡斯

  • 我正在开发一个使用SQLite DB的WPF桌面应用程序,它位于我的App_data文件夹中,在调试中运行它是可以的,但是当我构建应用程序并在另一台计算机上运行它时,如何包含DB文件呢?我是否需要为我的应用程序构建安装程序,以便在具有读/写访问权限的用户计算机上的某个位置创建DB的副本? 谢谢

  • 问题内容: 我对仅测试客户端Java应用程序的UI感兴趣。最受欢迎的框架是什么?您推荐的框架是什么?另外,Selenium为什么不这样做(或这样做)?在我看来,任何可以测试Web应用程序的东西都应该能够测试Windows应用程序。 问题答案: 尝试FEST框架。如果我没记错的话,这就是以前称为Abbot的东西。我使用它进行自动化测试,它看起来非常简单和方便。简单的事情变得容易,而复杂的事情并不是火

  • 问题内容: 我对仅测试客户端Java应用程序的UI感兴趣。最受欢迎的框架是什么?您推荐的框架是什么?此外,Selenium为什么不这样做(或这样做)?在我看来,任何可以测试Web应用程序的东西都应该能够测试Windows应用程序。 问题答案: 尝试FEST框架。如果我没记错的话,这就是以前称为Abbot的东西。我使用它进行自动化测试,它看起来非常简单和方便。简单的事情变得容易,而复杂的事情并不是火

  • 因此,我使用Microsoft示例进行了培训,这些示例可在以下站点获得:http://code.msdn.Microsoft.com/windowsdesktop/sending-toast-notifications-71e230a2/ 它工作良好,但我必须创建一个快捷方式,我的应用程序使用烤面包通知。 我试图删除快捷方式创建,但它不起作用。我理解,因为对于桌面应用程序,快捷方式是烤面包通知的先