什么是WPF,对WPF的认识

什么是WPF,对WPF的认识一 什么是 WPFWPF WindowsPrese 翻译为中文 Windows 呈现基础 是微软新发布的 Vista 操作系统的三个核心开发库之一 是微软推出的基于

大家好,欢迎来到IT知识分享网。

一,什么是WPF

WPF(Windows Presentation Foundation)翻译为中文“Windows呈现基础” 是微软新发布的Vista操作系统的三个核心开发库之一,是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

二,WPF有关知识

首先说一下学习WPF的基础知识:

  1. 要会一门.NET所支持的编程语言。例如C#
  2. 会一点“标准通用标记语言”:WPF窗体程序使用的XAML语言,也属于“标准通用标记语言”的一个分支。如果以前接触过XML、HTML、XHTML、ASP.NET之类的“标准通用标记语言”,对于学习是有所帮助的。
  3. 有一定的WinFormASP.NET经验,主要是对控件事件的处理要有所了解。
  4. 拥有良好的面向对象的思想:在WPF中,经常要灵活运用各种继承关系、多态、重载等。
  5. DataBinding要有所了解:Binding是WPF的一大亮点。
  6. 对设计模式要有一定的了解:当然是越深入越好了,在实际项目中,各种设计模式经常交融使用。

三,WPF的特点

优点:

  1. MVVM模式,数据和视图分离
  2. 类库多,上手快,可以快速开发
  3. 灵活的控件组合,可以修改已经存在的控件的外观
  4. 可以应用不同样式不同的控件,易于管理
  5. 支持动画,高级图形,高级数据绑定,3D等功能
  6. 绚丽的展示效果WPF除了可以使用传统的Windows Installer以及ClickOnce方式来发布我们的桌面应用程序之外,还可以将我们的应用程序稍加改动发布为基于浏览器的应用程序。

缺点:

  1. 对微软系统依赖性太强 到了非微软的操作系统上,很多FrameWord里面的类库就不好使了。
  2. 技术更新速度快
    移动和硬件领域的乏力,c/c++/java在移动领域和硬件领域的开发优势,是不用多说的—-你见过几个公司,选择用c#来开发移动系统或者硬件驱动的?

四,WPF和Winfrom的区别

在两者最重要的区别,WinFrom只是标准窗体控件顶部的一层(如文本框),而WPF从零凯斯,几乎在所有场景下都不依赖于标准窗体控件

举一个很好的栗子,现在有一个带图片和文字的按钮。它并不是一个标准窗体控件,WinForms无法提供现成的,你不得不自己画图片,实现支持图像的按钮,或使用第三方控件。相反,在WPF,按钮可以包含任何东西,因为它本质上是一个带内容和不同状态的边框。WPF的按钮就好像是一个看不见的物体,可以放入各种其他控件到里面,不部分WPF控件都是如此。你是想要一个带图片和文字的按钮?很简单,只要把一张图片和一个文本块放到按钮里面就搞定了。在标准WinForms控件之外好像你找不到这种灵巧的方式,这就是为什么像带图片的按钮这种简单的控件实现会有如此大市场的原因。

WPF优势

  1. 比较新,从而更符合目前的标准。
  2. 微软正在使用它开发很多新应用,比如Visual Studio。
  3. 更灵活,你不必再去自己写控件或者买控件。
  4. 你所使用的第三方控件更多的聚焦在WPF上,因为它比较新。
  5. XAML使得GUI的创建和编辑更加容易,而且允许拆分设计器(XAML)和代码器(C#, VB.NET).
  6. 数据绑定,你可以更加彻底的分离数据和布局.
  7. 用硬件加速绘制图形用户界面,性能更好。
  8. 允许你在Windows应用和web应用之间进行用户交互。

WinForms优势

  1. 出现比较久,已经经历很多检验和测试。
  2. 已经有很多第三方控件供你购买或者免费使用。
  3. Visual Studio设计器仍然更适合WinForms,在WPF很多东西你还是需要自己去开发。

五,开发基础

  1. 新建WPF应用程序
    选择菜单->“文件”->“新建”->“项目”,在“新建项目”对话框中选择WPF应用程序,修改名称为WpfDemo,然后点击“确定”按钮,如下图所示:
    在这里插入图片描述

  2. 生成的文档接口图如下:
    在这里插入图片描述
  3. 在App.xaml中的“StartupUri”属性可以指定项目运行时的启动窗体。如下图中“StartupUri=”MainWindow.xaml””,还可以定义我们需要的系统资源以及引入程序集等,如下图所示:
    在这里插入图片描述

六,XAML语言

XAML语言:是微软公司为构建应用程序用户界面而创建的一种新的“可扩展应用程序标记语言”,提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面。

特点:
定义应用程序的界面元素
显示的声明WPF资源(样式、模板、动画等)
可扩展性(自定义UI控件)
集中关注于界面的设计和实现



七,XAML命名空间以及命名空间映射到程序集

1. XAML命名空间

开发语言会将常用功能以类的形式封装,开发人员根据自己的业务需求,也会封装满足自身业务需求的类,如果有序组织这些类?一方面,便于开发人员准确调用;另一方面,编译器可以有效识别具有相同命名的类,就引入了命名空间,简单的说,是通过类似树状结构来组织各种类,是一种较为有效的类名排列方式。

XAML命名空间的语法:

2、自定义类或程序集映射语法

xmlns[:必选映射前缀]=“clr-namespace:[命名空间];assembly=[程序集名称]”

在同一个解决方案下面新建一个“”的项目,命名为“WPFUserControl”,在项目的属性里面修改默认

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122150.html

(0)
上一篇 2025-10-18 21:33
下一篇 2025-10-18 22:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信