基础知识:
- XAML:Extensible Application Markup Language, zammel;
- 用于实例化.NET对象的标记语言;
- XMAL使用树形逻辑结构描述UI;
- BAML:Binary Application Markup Language,即XMAL的二进制表示,VS会在编译WPF应用程序时,将所有XAML转换为BAML,且BAML最终会作为资源被嵌入到DLL或EXE程序集中;
- BAML是标记化的,故相对于XAML较小;
- WPF应用程序三个顶级元素:Window、Page和Application;.
-
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- WPF的核心命名空间,包含了所有WPF类,包括构建用户界面的控件;
-
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- XAML命名空间,包含各种XAML使用特性,这些特性可以影响文档的解释方式;
- 上边两个命名空间是通过使用URI(Uniform Resource Identifier)格式的命名空间;
- schemas.com域归Microsoft拥有,只有Microsoft会使用它,从而防止了其它组织的使用;
- XAML中使用的XML命名空间和.NET命名空间不是一一对应的,它是一个多个命名空间的集合,使用URI可以将它们组合到一个XML命名空间中,防止了多个命名空间引起的使用混乱;
- Window类中的InitializeComponent()方法的所有工作就是调用System.Windows.Application类的LoadComponent()方法,从程序集中提取BAML,构建用户界面(创建所有控件对象+设置其属性+关联所有事件处理程序);
时间: 2024-12-10 16:52:56