来自《深入浅出WPF》(刘铁猛)读书笔记
XAML=Extensible Application Markup Language可扩展应用程序标记语言。是WPF技术中专门用于设计UI的语言。
XAML的优点:
1)可以设计出专业的UI和动画;
2)无需专业的编程知识;
3)UI设计师能直接参与软件开发;
4)真正实现UI与逻辑的剥离。
XAML是一种单纯的声明型语言,也就是说,它只能用来声明一些UI元素。绘制UI和动画(在XAML里实现动画是不需要编程的),根本无法在其中加入程序逻辑,这就强制把逻辑代码从UI代码中赶走。
简单的WPF实例包括:
1)Property:程序要用到的一些资源(如图标,图片,静态的字符串)和配置信息;
2)Reference:当前项目需要引用哪些其他的项目;
3)App.xaml:程序的主体;
4)Window1.xaml:程序的主窗体;
XAML是一种由XML派生而来的语言,所以很多XML中的概念在XAML是通用的。
Property(属性)是针对对象而言的。
Attribute只与语言层面上的东西有关,与抽象出来的对象没什么关系,只是为了表示‘区分’,可以译为‘特征’。
针对标签还是叫Attribute,针对对象还是叫Property,两者不是一个层面的东西。标签的Attribute与对象的Property也不是完全映射,往往一个标签所具有的的Attribute多于它所代表的对象的Property。
因为XAML是用来在UI上绘制控件的,而控件本身就是面向对象的产物,所以XAML标签的Attribute里就有一大部分是与控件的对象的Property互相对应。
XAML是一种‘声明’式语言,当我们看到一个标签,就意味着声明了一个对象,对象之间的层级关系要么是并列,要么是包含,全都体现在标签的关系上。
xmlns:XML-Namespace声明名称空间。