写在最前:关于 WPF

一、高级API
  • 类似 Web 的布局
  • 丰富的绘图、文本模型
  • 动画
  • 支持音视频
  • 样式和模板
  • 命令
  • 声明式用户界面
  • 基于页面的应用程序
二、分辨率无关性

WPF 实现理想状态:
在更高的分辨率下,应用程序的图标保持原来的大小,只展示更多的细节

三、WPF体系结构
  1. 顶层:托管的 WPF API
- PresentationFramework.dll
包含 WPF 顶层的类型
包括表示窗口、面板等控件的类型,样式

- PresentationCore.dll
包含基础类型:UIElement 类和 Visual 类

- WindowsBase.dll
包含更多基本要素,具有在 WPF 之外重用的潜能,
如 DispatcherObject 类和 DependencyObject 类
  1. 媒体集成层
- milcore.dll:渲染系统的核心。
其合成引擎将可视化元素转换为 Direct3D 所期望的三角形和纹理。
- WindowsCodecs.dll:一套提供图像支持的 API
(如处理、显示、缩放位图和 JPEG 图像)
  1. Direct3D 和 User32
- Direct3D:一套低级 API,WPF应用程序中的所有图形都有它进行渲染
- User32:决定哪些程序实际占有桌面的哪一部分。
仍被包含在 WPF 中,但不再负责渲染通用控件。
四、类层次结构:
ItemsControl + ContentControl  
-> Control + Shape、Panel  
-> FrameworkElement  
-> UIElement  
-> Visual  
-> DependencyObject  
-> DispatcherObject   
===============================================  
核心名称空间以 System.Windows 开头  
System.Windows、System.Windows.Controls、System.Windows.Media,  
例外:System.Windows.Forms(Windows 窗体工具包的一部分)
===============================================
1. System.Threading.DispatcherObject 类

1)WPF 应用程序使用单线程亲和(Single-Thread Affinity, STA)模型;
2)整个用户界面由单个线程所有;
3)每个 WPF 应用程序由协调消息的调度程序管理;
4)协调消息:键盘输入、鼠标移动乃至布局处理。

2. System.Windows.DependencyObject 类

通过继承自 DependencyObject 类,WPF 类可获得对依赖项属性的支持。

3. System.Windows.Media.Visual 类

WPF 窗口的每个元素本质上都是 Visual 对象。

4. System.Windows.UIElement 类

增加了对 WPF 本质特征的支持;
如布局、输入、焦点和时间,路由事件和命令。

5. System.Windows.FrameworkElement 类

1)WPF 核心继承树中的最后一站;
2)实现了一些全部由 UIElement 类定义的成员;
3)UIElement 为 WPF 布局系统设置了基础,添加了对数据绑定、动画以及样式等核心特性的支持;
4)而FrameworkElement 类提供了支持它的重要属性(HorizontalAlignment 和 Margin属性等)。

6. System.Windows.Shapes.Shape 类

基本的形状类(Rectangle 类、Polygon 类…)

7. System.Windows.Controls.Control 类

1)包括交互的元素:TextBox 类、Button 类、ListBox 类等;
2)强大的模板支持;
3)控件是用于交互的元素。但是许多元素在 System.Windows.Controls 名称定义,但不继承自 System.Windows.Controls.Control 类,因此不被认为是控件。如 Panel。

8. System.Windows.Controls.ContentControl 类

是所有具有单一内容的控件的基类。
包括:标签、普通字符串、其他形状和控件组合的布局面板

9. System.Windows.Controls.ItemsContrl 类

是所有显示选项集合的控件的基类,如:ListBox 和 TreeView 控件。

10. System.Windows.Controls.Panel 类

布局容器的基类。

内容将同步到微信公众号:广州 WPF 开发

广州 WPF 开发.jpg

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值