目录
一、WPF的概述
1.1 WPF 简介
- WPF (全称:Windows Presentation Foundation)的核⼼是⼀个与分辨率⽆关且基于⽮量的呈现引擎,旨在充分利⽤现代图形硬件。
- WPF 通过⼀套完善的应⽤程序开发功能对该核⼼进⾏了扩展,这些功能包括可扩展应⽤程序标记语⾔ (XAML)、控件、数据绑定、布局、⼆维和三维图形、动画、样式、模板、⽂档、媒体、⽂本和版式。
- WPF 属于 .NET,因此可以⽣成整合 .NET API 其他元素的应⽤程序。
1.2 WPF 特点
- 呈现效果不受分辨率的影响;
- 基于DirectX 3d技术,可以做出炫酷的界⾯;
- 提供UI框架,集成了⽮量图形、流动⽂字⽀持、3d视觉效果和控件模型框架;
- UI与业务逻辑彻底分离,底层wpf引擎是把元素解释成对应的对象;
- 可以⽀持 xp server2003 到 window7及以后的操作系统版本;
- 数据是核⼼,基于数据驱动;
二、XAML
- XAML 是⼀种声明性标记语⾔;
- 应⽤于 .NET Core 编程模型时,XAML 简化了为 .NET Core 应⽤创建 UI 的过程;
- XAML ⽂件是通常具有 .xaml 扩展名的 XML ⽂件;
- 可通过任何 XML 编码对⽂件进⾏编码,但通常以 UTF-8 编码;
2.1 对象元素语法
对象元素语法 是 XAML 标记语法,它通过声明 XML 元素来实例化 CLR 类或结
构。此语法类似于其他标记语⾔(如 HTML)的元素语法。
- 单标签格式: <StackPanel />。
- 双标签格式: <StackPanel> </StackPanel>
2.2 XAML 根元素
⼀个 XAML ⽂件只能有⼀个根元素,这样才能同时作为格式正确的 XML ⽂件和有效的 XAML ⽂件。
在根标签下⾯有且只能有⼀个⼆级标签。在⼆级标签⾥⾯我们可以写多个三级和四级标签。
例如,⻚⾯的 Window 或 Page:
<Window>
<【布局标签】>
【其他标签....】
</【布局标签】>
</Window>
<Page>
<Window.Resources>
....
</Window.Resources>
<【布局标签】>
【其他标签....】
</【布局标签】>
</Page>
2.3 WPF 和 XAML 命名空间声明
在许多 XAML 文件的根标记中的命名空间声明内,通常可看到两个 XML 命名空间声明,如下图所示:
这些声明之间的关系是 x: 前缀映射⽀持作为 xaml 语⾔定义⼀部分的内部函数。
WPF 是⼀种将 xaml ⽤作语⾔的实现,并为 xaml 定义了其对象的词汇。
三、控件的继承关系
FrameworkElement 类提供 WPF框架级别实现基于 UIElement 定义的 WPF 核心 API。
FrameworkElement 常用属性 | ||
---|---|---|
属性名 | 对象类型 | 作⽤ |
Width | double | 获取或设置元素的宽度。以与设备无关的单位的值(每单位1/96英寸)为单位。 |
Height | double | 获取或设置元素的高度。以与设备无关的单位的值(每单位1/96英寸)为单位。< |