C# WPF编程-XAML
XAML简述
XAML(Extensible Application Markup Language的简写,发音"zammel")是用于实例化.NET对象的标记语言。XAML可引用于诸多领域的技术,但主要作用是构造WPF用户界面。WPF通过XAML设计用户界面。但XAML对于WPF不是必需的,通过代码来构造WPF窗口也是可以的。
XAML子集
- WPF XAML 包含描述WPF内容的元素,如矢量图形,控件及文档。
- XPS XAML是WPF XAML的一部分,它为格式化的电子文档定义了一种XML表示方式。
- Silverlight XAML是一个用于Microsoft Silverlight应用程序的WPF XAML子集。Silverlight是一个跨平台的浏览器插件,通过它可创建具有二维图形、动画、音视频的富Web内容。
- WF XAML包括描述WF(Work Flow,工作流)内容的元素。
XAML编译
XML的设计目标是具有逻辑性、易读且简单,但没有被压缩。WPF使用BAML(Binary Application Markup Language,二进制应用程序标记语言)来克服这个缺点。BAML实际就是XAML的二进制表示。Visual Studio编译WPF应用程序时,所有XAML文件都被转换为BAML,这些BAML然后作为资源被嵌入到最终的DLL或EXE程序集中。编译器会在后台执行这项工作。但也可以使用未经编译的XAML,这对于需要即时提供一些用于界面的情况可能是有意义的。
XAML基础
XAML标准是非常简单的:
- XAML文档中的每个元素都映射为.NET类的一个实例。元素的名称也完全对应于类名。
- 与所有XML文档一样,可以在一个元素中嵌套另一元素。
- 可通过特性(attribute)设置每个类的属性(property)。
XAML文档基本框架,一个空白窗口:
<Window x:Class="WpfHelloWorld.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"
Title="MainWindow" Height="450" Width="800">
<Grid>
</Grid>
</Window>
尽管可以使用任何顶级元素,但是WPF应用程序只使用以下元素作为顶级元素:
- Window元素
- Page元素(该元素和Window元素类似,但它用于可导航的应用程序)
- Application元素(该元素定义应用程序资源和启动设置)
XAML名称空间
只提供类名是不够的。XAML解析器还需要知道类位于哪个.NET名称空间。XAML解析器会检查应用于元素的XML名称空间。
示例文档定义的名称空间:
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特性是XML中的一个特殊特性,它专门用来声明名称空间。在创建的所有WPF XAML文档中都会使用到这两个名称空间

最低0.47元/天 解锁文章
1536

被折叠的 条评论
为什么被折叠?



