WPF基础篇(2)-WPF系列征程

WPF:高级API

WPF包含了一整套针对应用程序开发人员的高级服务,下面是WPF引入到Windows编程领域中重要的一些变化。

1、WPF可以通过DirectX提供硬件加速功能。

2、类似Web的布局模型。与通过具体的坐标讲控件固定在具体的位置不同,WPF根据其内容灵活排列控件的流式布局,从而使用户界面能够根据显示内容和不同的语言灵活的进行调整。

3、丰富的绘图模型。与逐个像素绘制不同,在WPF中可以直接处理图元--基本形状、文本块以及其他图形元素,以及其他新特性。如:真正的透明控件以及本地3D支持功能。

4、编程概念的动画。动画是WPF框架的固有功能,在WPF中可以使用声明式标记定义动画,并让其动起来。

5、支持音频和视频媒体。WPF支持播放任何Windows媒体播放器所支持的音频和视频文件,同时允许播放多个媒体文件,它还提供了允许在用户界面的其他部分集成视频内容的工具以及添加特殊效果的技巧。如:在旋转的3D立体上放置视频窗口。

6、样式和模版。样式(style)允许标准化格式并且可以再各个应用程序间重复使用。模版允许改变元素的渲染方法。

7、命令。通过代码抽象,可以再特定的地方定义命令并将它链接到多个控件上。

8、声明式用户界面。Visual Studio 提供了将各个窗口的内容串行化到一个XAML文档的一套XML标签中,其优点是用户界面和代码完全分离。

分辨率无关性

WPF如何决定窗口的大小的呢?

 在说这个之前先要了解WPF的单位。

 WPF窗口以及窗口中所有使用的元素都使用的设备无关单位向量(device-independent unit)。一个设备无关单位被定位为1/96英寸。WPF计算窗口时使用系统的DPI[dot per inch]设置。

举例说明下:在WPF中创建一个尺寸为96*96单位的小按钮。如果使用标准的窗口DPI设置(96dpi),每个设备无关单位实际应对一个物理像素。对这种情况,WPF使用下面的公式进行计算:

[物理单位尺寸] = [设备无关单位尺寸] × [系统DPI]

= 1/96英寸 × 96dpi

=1像素

你可能感兴趣的:(WPF)