分类:
2010-03-23 20:03:02
XAML是一种界面描述语言
在大型软件工程中,通常涉及两类不同性质的工作。一类是用户界面设计人员,他们关心的是软件和用户之间的交互;另一类是软件开发人员,他们关心的是软件功能的实现。在互联网中,用户界面设计人员使用HTML及其工具来设计界面,开发人员使用Java,C#,VB或其他语言来实现其中的逻辑,HTML 网页可以用到最终的产品中。
在桌面应用程序中,过去我们一直没有分开这两种不同性质的工作。用户界面设计人员通常和开发人员使用不同的工具,当界面设计人员设计好用户界面时,他们的工作并没有用到最终的产品中,而只是用来展现某种概念或工作流程。
XAML实现了互联网应用程序和桌面应用程序的统一,界面设计人员可以使用XAML或基于XAML的工具(如微软的Blend) 来设计桌面或互联网应用程序的界面。程序开发人员则可以在此基础上使用C#或VB.NET来开发相应的功能,这样,界面设计人员的工作便自然过渡到最终产品中。
在XAML中,用户界面用XML的元素或属性来表示。WPF引擎把XAML描述的UI元素解释为相应的.NET对象,从而在桌面程序或 Silverlight网页上创建相应的控件。
WPF编程模型实际上是XAML标记语言和逻辑编程语言(C#或VB.NET)的混合。XAML的节点,属性以及相互关系用来描述界面元素及其相互关系。例如,若要创建一个按钮,则可以用下面的XAML:
- BorderThickness="1" Click="OnClick1" > 按钮
XAML中的元素名为CLR中的类名,如上例中的Button,它实际上是WPF中的Button类。XAML的属性是相应类中的相关属性,如上例中的Name、Background、BorderBrush等实际上是Button类中相应的相关属性(有关相关属性的概念,将在第4章详细介绍)。在这句XAML中,我们还放置了事件处理程序,Click="OnClick1",即XAML支持声明事件处理程序,具体逻辑在C#或VB.NET的 OnClick1方法中。
XAML中的元素名和CLR中的类名是一一对应的,其中的属性也是CLR类中的属性。