什么是XAML
XAML是用于实例化.net对象的标记语言。是一种可应用于诸多不同问题领域的技术,但在此是构造wpf界面的。xaml文档的定义用来构造组成窗体的面板按钮以及各种控件。
XAML基础
- XAML文档中每一个元素都映射为一个.net类的实例。元素名称完全对应类名,例如,元素指示wpf创建Button对象。
- 与所有xml文档一样,可以在一个元素中嵌套另一个元素。xaml让每一个类灵活的决定如何处理嵌套。
XAML命名空间
只有类名是不够的。XAML解析器需要知道是那个.net名称的空间。例如许多名称空间中含有Wiondows类它可能是指System.Wondows.Window类,也可能是第三方组件中的Window类。为了区分清楚,XAML解析器会检查应用于元素的xml名称空间。
下面是两个名称空间:
xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation”
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
代码隐藏类
通过XAML构造用户界面,但是为了使应用程序具有一定的功能,就需要连接包含应用程序代码的事件处理程序方法。XAML通过使用如下Class特性简化该问题:
<Window x:Class="Hnt.Client.Base.WindowMain"
在XAML名称控件的Class特性之前放置了名称控件前缀x,表示这是XAML语言中更通用的组成部分。实际上,class特性告诉xaml解析器用指定的名称生成一个新类,该类继承自window基类。
InitializeComponent()方法
InitializeComponent()方法在wpf中扮演重要角色。永远不要删除它。
InitializeComponent()方法源码是不可见的,因为它是编译时自动生成的,用它来构造用户界面创建控件对象设置属性绑定关联事件处理程序。
命名元素
我们经常需要代码控制控件的内容读取或属性修改。未完成该功能需要控件包含XAML的Name特性。
通过代码控制Grid控件的属性:
GridCeterLeft.Width = 0;
ButtonHidden.Visibility = Visibility.Collapsed;
ButtonVisible.Visibility = Visibility.Visible;
XAML中的属性和事件
- 常用的属性有:
Name:控件名称定义
Width:控件的宽度
Height:控件的高度
Background:背景颜色
Foreground:字体颜色
FontSize:字体大小
VerticalAlignment:垂直布局
VerticalContentAlignment:垂直内容对齐布局
HorizontalContentAlignment:水平内容对齐布局
等等…
- 常用事件:
Click:点击事件
等等…