一 · WPF由哪两部分组成?

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

1 引擎。wpf引擎是基于窗体的应用程序 图形 视频 音频和文档提供了一个单一的运行时库。重要的是WPF基于矢量的呈现引擎使应用程序可以灵活地利用高DPI监视器,支持图形的硬件加速。

2 框架。WPF框架为媒体 用户界面设计和文档提供大量的解决方案。wpf的设计考虑了可扩展性,使开发人员可以完全在WPF引擎的基础上创建自己的控件,也可以通过对现有WPF控件进行再分类来创建自己的控件。

二 · 什么是WPF?

WPF英文全称是Windows Presentation Foundation,中文为Windows表现层基础。是微软最初在.NET Framework3.5平台推出的一个图形平台。

三 · Silverlight 和 WPF的异同。

它们的运行方式是不同的。

1 silverlight是基于浏览器插件的,在浏览器中运行。

2 WPF可以编写Web程序或者桌面应用程序,可以直接编译为独立运行的exe文件。

实现功能是不同的。

1 WPF支持直接在XAML中绑定触发来触发动画,而silverlight就只能通过托管代码或者javascript来进行。

2 WPF直接支持3D效果和3D镜头变换,但是silverlight就不支持。

它们也有相似的地方

1 silverlight 原名WPF/E 就是WPF Everywhere 是WPF的一个子集。因此它们在很多语法实现上非常类似。

四 ·如何理解WPF体系结构?

WPF使用多层架构,类似于三层结构,最顶层部分为托管代码API,此层用于为开发人员编写WPF应用程序提供较高层次的服务,基于C#托管代码编写。转换.NET代码到DirectX的工作由中间层milcore.dll实现。中间层milcore是用非托管代码实现,因为它需要与DirectX紧密集成,对性能敏感,就是消耗的资源比较多,对性能影响较大。

五 · 在WPF中Binding的作用及实现语法?

典型的Binding具有四个重要组成部分:Binding目标对象(binding target object) 目标对象属性(target property) Binding数据源(binding source) Path(用于指明要从数据源中取得的值,就是我们通常写的属性名称)。

六·什么是XML扩展XAML?有何优点?

1 XAML是eXtensible Application Markup  Language的英文缩写,相应于中文称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。

2 XAML是XML语言的一个衍生物,它的语法与XML语言完全一致,它的功能就是专门用来设计和实现程序的UI。

3 XAML一个很大的优点就是由于WPF支持WEB开发,那么WEB开发和桌面开发的转换是很简单,修改的地方很短,同时UI与逻辑完全分离,所以逻辑代码也几乎不用改动。

七· 解释什么是依赖属性,它和以前的属性有什么不同?为什么在WPF会使用它?

1 Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR) 属性的功能,这些服务通常统称为 WPF 属性系统。由 WPF 属性系统支持的属性称为依赖项属性。

2 它和以往属性的不同之处有

(1)依赖属性是一种特定类型的属性。这种属性的特殊之处在于,其属性值受到 Windows 运行时中专用属性系统的跟踪和影响。

(2)依赖属性的用途是提供一种系统的方式,用来基于其他输入(在应用运行时其内部出现的其他属性、事件和状态)计算属性的值。

(3)依赖属性代表或支持编程模型的某种特定功能,用于定义 Windows 运行时应用,这种模型使用 XAML 编写 UI,使用 C#、Microsoft Visual Basic 或 Visual C++ 组件扩展 (C++/CX) 编写代码。

一般的属性没有这么复杂。

3 WPF使用它是有不少优点的

(1)优化了属性的存储,直接减少了不必要的内存使用。

(2)有属性变化通知 限制 验证等。

(3)可以储存多个值,配合Expression及Animation等,打造出更灵活的使用方法。

最新文章

  1. JavaScript基础学习-函数及作用域
  2. HDU2438 数学+三分
  3. kali 安装FTP服务器-vsftpd
  4. ASP.NET MVC3 Model验证总结
  5. 机械革命 USB装系统各种坑
  6. 精通 CSS 选择器
  7. web页面的加载顺序
  8. 想要愉快入住酒店?缺了它还真不行!(含PPT)
  9. Android 使用全局变量传递数据
  10. This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分 解决方案
  11. Smarty安装配置方法
  12. Linux c字符串中不可打印字符转换成16进制
  13. 深入理解JavaScript中的this关键字
  14. DSP TMS320C6000基础学习(4)—— cmd文件分析
  15. FitVids,一个轻视频插件,操作简单
  16. 九度OJ 1006 ZOJ
  17. Nginx出现500 Internal Server Error 错误的解决方案
  18. 全面盘点当前Android后台保活方案的真实运行效果(截止2019年前)
  19. c++中,如果访问数组越界,程序可能会意外终止(像死循环)
  20. Mysql中存储引擎区别【 InnoDB、MyISAM】

热门文章

  1. 龙珠 超宇宙 [Dragon Ball Xenoverse]
  2. 超实用PHP函数总结整理
  3. Yii源码阅读笔记(三)
  4. li标签之间的空隙问题(转)
  5. window.open()弹出窗口防止被禁
  6. Alternative Representations for 4-Bit Integers
  7. P1083 借教室
  8. C#打开一个文本文件并读写
  9. PureBasic 打开一个一行有多个数据的文件并读取其中某个数据
  10. Link Management Protocol (LMP)