XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,是用来实例化.Net对象的标记语言。主要用于构建WPF用户的界面。
1、命名空间
xmlns是XML中的一个特殊特性,它专门用来声明命名空间的。(原理有点类似C++里面的using namespace std)比如:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
该命名空间包含了我们需要用到的大部分控件类,并且程序的默认空间均为这个,如果想要用其他的命名空间,需要在xmlns上加一个前缀,形式如下:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
2、对控件属性赋值
1)属性特性
直接在后面加入属性Name并且赋值
<Grid Name="Grid1">
</Grid>
2)属性元素
在组件内部加入属性元素Grid.Name,与其他的内部组件元素(比如Button)通过符号“.”区分
<Grid>
<Grid.Name>grid1</Grid.Name>
<Button></Button>
</Grid>
以设置背景色为例
<Grid.Background>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="#FFE2632B" Offset="0" />
<GradientStop Color="#FFDBC23B" Offset="1" />
<GradientStop Color="#FF3991A1" Offset="0.47" />
</LinearGradientBrush>
</Grid.Background>
效果如下
3、附加属性
常常用来WPF的布局,我们可以在属性框中找到“RowDefinations”这个属性,给他增加三行,这样布局界面就分为了三行
我们分别在工具箱中拖入三个按钮Button到对应的行中去
可以看到下面的XAML语言中显示Button所在行信息的代码对应为“Grid.Row=*”,第一行默认为0不显示
其中第一行多添加的一个TexBox组件为测试组件,用来测试组建一些特殊符号的格式,比如多个空格,“<”,“>”等等
4、事件处理程序
一般的组件我们都可以设置响应程序,这个和MFC中类似,我们给单击了Button1按钮这个事件添加一个响应程序,双击Button1的图标即可进入代码编辑界面,添加如下代码:
private void btn_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(this.textBox1.Text);
}
意思是单击Button1按钮后弹出对话框,显示当前窗口内的textBox1这个组件里面的Text的内容,下面是单击后的效果