XAML的全程是Extensible Application Markup Language,即可扩展应用程序标记语言。
2 从零起步认识XAML
(2) 我们设计界面一般使用Blend,当我们用blend打开工程文件后发现命名空间会有些变化,同时引用别的类库的方法的时候会自动引用出命名空间,例如我最近在将WINFORM项目转为WPF的过程中有部分没有重构完成的控件还是使用老的winform控件,这个时候我们只需要引用winform命名控件即可,同时在界面控件的前面加上前缀即可。
x:Class这个Attribute的作用是当XAML解析器将包含它的标签解析成C#类后,这个类的类名是什么。
XAML的一个巨大优点是:它帮助开发团队真正实现了UI与逻辑的剥离。XAML是一种单纯的声明型语言。
UI是使用XAML画出来,而功能逻辑可以用C#/VB.NET/C++.NET等托管语言来实现。
2.2 剖析最简单的XAML代码
(1) xmlns后面可以跟一个可选的映射前缀,之间用冒号分隔。如果没有写可选映射前缀,那就意味着所有来自于这个名称空间的标签都不用加前缀,这个没有映射前缀的名称空间成为”默认名称空间“——默认名称空间只能有一个,而且应该选择其中元素被最频繁使用的名称空间来充当默认名称空间。
- <Window
x:Class="FirstWpfApplication.MainWindow123" -
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" -
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" -
Title="Anders" Height="173" Width="296">
- <Window
x:Class="FirstWpfApplication.MainWindow123" -
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" -
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" -
xmlns:winf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" -
xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" -
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" -
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" -
Title="Anders" Height="173" Width="296">
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
映射 XAML 兼容命名空间 http://schemas.openxmlformats.org/markup-compatibility/2006 时,建议使用
- <Application
x:Class="FirstWpfApplication.App" -
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" -
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" -
StartupUri="Window1.xaml"> - </Application>