2024年3月13日发(作者:)

1、WPF体系结构

a)WPF(WindowsPresentationFoundation)Windows表现层

b)历史变迁

i.C++/VB---2003年之前----与Sun竞争

平台(C#、VB、C++)C#(C->C++->C#/CSharp)

iii.开发工具VisualStudio2003->vs2005->vs2008->vs2010

iv.开发语言C#1.0(CLR)->C#2.0(匿名、泛型)->C#3.0(LinQ、Lambda)->C#4.0

v.运行时环境DotNetFramework1.1->2.0->3.5->…(托管代码处理GDI,调用底层的OS下的

API(如))

vi.推出背景:配合下一代OS技术(WindowSeven/Vista)(非托管代码处理DirectX,矢量技术,

性能受影响)

vii.与WindowForm孑然不同

c)见图:绘图使用DirectX技术

2、WPF应用程序管理、事件、生命周期

a)Application启动

p事件订阅加载方法

p+=pEventHandler(ation_Startup);

ii.设定Application的StartupUri

b)关闭

i.当我们启动了很多窗口的时候,这些窗口继宿在主线程内,当所有窗口关闭时,应用程序

自动退出

wn();不同于();

iii.常见事件

iv.生命周期见图

v.源代码MSIL机器语言(先编译后解释)

3、WPF窗体与导航—基于代码

a)项目常见设置

中设置产品信息(描述,版本…)

ii.设置产品图标*.ico,程序集名

b)常见属性、方法、事件

i.属性

:标题

:窗口

Mode:是否能最大化、最小化、拉伸窗口边框

Style:设置窗口的外部样式

StartupLocation:窗口启动后出现的位置

y:设置透明度

t:窗口将永远置于最顶层.

、Top、Width、Height:设置窗口呈现的坐标以及大小

und/Background:设置前、背景色

---:字体的相关信息

led:设置对象是否启用/禁用

:任何对象隐藏的属性,可用于保存一些额外的信息

ii.方法

()

alog():窗口的返回值由DialogResult来设置

3.A窗口向B窗口传递值:

a)在B窗口中设置一个属性,然后A窗口中实例化B时,赋值给B中的该属性(在多窗口中

传值不频繁的时候使用,以及传递的数据并不多的时候)

b)定义一个静态类,以及若干静态成员,然后通过get/set访问器来实现获取或设置值(在多

窗口之间频繁的传递值,以及窗口之间传递值过多时)

iii.事件

Parameters获取系统的环境设置信息

v.

c)模式与非模式窗口

d)基于页面的用户界面

类似于java中的Applet程序,在一个沙箱内部运行WPF的程序,对外部数据的访问受限

制,从而达到安全目的。

与SilverLight的区别:SilverLight利用页面插件来工作的,XBP则是运行在CLR之上的程序.

e)导航服务

i.页面跳转的方式:

1.内部标签来实现跳转

2.导航服务来实现跳转

ii.其他的设计与WPF下的设计雷同

f)不规则窗体

i.绘图标签

ii.窗体过滤

g)消息框

(x,y,z,m,n)

4、XAML与XML

a)XAML数据

是XML的子集,遵循了XML的语言结构

是可拓展的标记语言,也是元语言,XAML就是在XML的基础上拓展而来

基本规范:

1.标记是成对出现的.<标记>数据

2.标记区分大小写

3.只有唯一的根元素

4.标记支持嵌套,呈现出父子元素关系

5.每一个元素的名称、属性名都是有意义的

6.如果元素内部无数据,那么可改写为,称为空元素

中Window的子级元素仅有一个

8.命名空间:避免了元素和属性的重名问题

a)xmlns:digital=""定义了一个命名空间的缩写digital指代

命名空间

b)xmlns="_"定义了一个默认命名空间,当元素未指定命名空间的时