WPF简介
what is WPF
WPF( Windows Presentation Foundation)的功能是用来编写应用程序的表示层。
- XAML是WPF技术中专门用于设计UI的声明型语言,实现UI与逻辑的剥离;
- 在VS的解决方案资源管理器中Properties分支:里面主要内容是程序要用到的一些资源(如图标、图片、静态的字符串)和配置信息;
- 在VS的解决方案资源管理器中References分支:标记了当前这个项目需要引用哪些其他的项目。.NET Framework中的库类,有时候还要添加其他的.NET Framework类库或其他程序员编写的项目以及类库;
- 在VS的解决方案资源管理器中App.xaml分支:程序的主体。在Windows系统里,一个程序就是一个进程(Process)。Windows还规定,一个GUI进程需要有一个窗体(Window)作为“主窗体”。App.xaml文件声明了程序的进程是谁,同时指定了程序的主窗体。App.xaml是后台代码;
- 在VS的解决方案资源管理器中MainWindow.xaml分支:程序的主窗体;
- 分析MainWindow.xaml和它的后台代码。在MainWindow.xaml如下:
这些代码是“<”Window“>”标签的Attribute。其中Title、Height和Width是Window对象的Property相呼应。5个xmlns是在声明名称空间。最上面一行是在适用名为Class的Attribute,这个Attribute来自于x:前缀所对应的名称空间。xmlns是XML-Namepacede。定义名称空间的好处在于,当来源不同的类重名时,可以适用名称空间加以区分。<Window x:Class="MyFirstWPFApplication.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:MyFirstWPFApplication" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> </Grid> </Window>
xmlns特征的语法格式:
xmlns后可跟一个可选的映射前缀,之间用冒号分隔。如果没有写可选映射前缀,那就意味着所有来自于这个名称空间的标签前都不用加前缀,这个没有映射前缀的名称空间称为“默认名称空间”——默认名称空间只能有一个,而且应该选择其中元素被最频繁使用的名称空间。而第一行中的Class特征则来自于第三行中x:前缀对应的名称空间。如果给第二行声明的名称空间加上一个前缀,比如 n,那么代码必须改成这样才能通过:xmlns[:可选的映射前缀]=“名称空间”
名称空间长得像网页地址,其实只是XAML解析器的一个硬性编码(hard-coding),只要见到这些固定的字符串,就会把一系列必要的程序集(Assembly)和程序集中包含的.NET名称空间引用进来。<n:Window x:Class="MyFirstWPFApplication.MainWindow" xmlns:n="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:MyFirstWPFApplication" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <n:Grid> </n:Grid> </n:Window>