XAML语言
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Visual Studio 2015
作者:李成富
撰写时间:2019年6月10日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
XAML语言:是微软公司为构建应用程序用户界面而创建的一种新的“可扩展应用程序标记语言”,提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面。
特点:
- 定义应用程序的界面元素
- 显示的声明WPF资源(样式、模板、动画)
- 可扩展性
- 集中关注于界面的设计和实现
默认命名空间:
一、XAML命名空间格式:语法结构为”xamls:”+”命名空间前缀名”,默认命名空间无需定义命名空间前缀名
(1)xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
无前缀默认命名空间=Silverlight,WinRT命名空间声明URI
(2)xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
X前缀命名空间=XAML命名空间声明URI
这里的xmlns和xmlns:x的区别在于x作为别名,在应用时,以前缀形式出现,而xmlns作为 默认命名空间,不使用前缀标识的元素,来自该命名空间。
XAML命名空间的语法: xmlns[:可选映射前缀]="命名空间描述" 注意:没有加可选映射前缀的xmlns是WPF默认的命名空间,一个xaml文件只能有一个默认的命名空间、一个完整的xaml文件,必须具备两个命名空间。
二、、自定义类或程序集映射语法
(1)xmlns:local="clr-namespace:Train_Client.View.SystemInformation"
xmlns[:必选映射前缀]="clrnamespace:[命名空间];assembly=[程序集名称]"
三、映射到当前程序集的语法
xmlns[:必选映射前缀]="clrnamespace:[命名空间]"
常见”X:前缀”类型命名空间
x:Key -- 为ResourceDictionary中的每个资源设置一个唯一键。
x:Class – 为XAML页提供代码隐藏的类的命名空间和类名称,并命名由标记编译器的生成操作在应用程序模型中创建或链接的类。
x:Name – 处理XAML中定义的对象元素后,为运行时代码中存在的实例指定运行时对象名称。
ResourceDictionary:资源字典。所有的资源项在最终都会被整合到ResourceDictionary中,也就是说无论是FrameworkElement的Resources,还是Window的Resources,还是Application的Resources,还是特定的ResourceDictionary中定义的resources在整个应用编译执行的时候实际上他们都在一起作为可遍历集合共同存在于一个相对会话空间内。Resource的key是可以被允许有相同的,这样在遍历不同相对地址的ResourceDictionary时会根据StaticResource或者DynamicResource的lookupbehavior来确定哪个有效。通常为了维护和灵活性的考虑,我们通常会将ResourceDictionary文件分成好几个,但在某些场合下我们只需要用其中某些资源,那么可以将资源从几个独立的文件中提取出来合并在一起。