扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
XAML是eXtensible Application Markup Language的
提示:XAML的发音为"Zamel",笔者经常开玩笑地将其读成"折磨"。虽然XAML包含了许多新规则、元素和语法,但是我并不认为学习它是一个折磨人的过程。只要读者稍微具备一些HTML基础知识,就可以快速地掌握XAML中的大部分内容。
提示:如今在WPF的官方网站上已经提供了一些很实用的工具,可以将其他格式的图形文件转换为XAML文件的形式。例如我们就可以将3DMax
XAML简化了.Net Framework 3.0 编程模式上的用户界面创建过程,使用XAML开发人员可以对WPF程序的所有用户界面元素(例如文本、按钮、图像和列表框等)进行详细的定置,同时还可以对整个界面进行合理化的布局,这与使用HTML非常相似。但是由于XAML是基于XML的,所以它本身就是一个组织良好的XML文档,而且相对于HTML,它的语法更严谨、更明确。预计以后大部分的XAML都可由相应的软件自动生成,就如同我们现在制作一个静态页面时,几乎不用编写任何HTML代码就可以直接通过Dreamweaver软件生成一个美观的页面。但是最初通过手动编写XAML代码将是一次绝佳的学习体验,虽然实现的过程繁杂了些,但是将加深您对XAML语法和各个元素的理解。
大多数的WPF程序可能同时包含程序代码和 XAML。我们可以使用XAML定义应用程序的初始界面,而后才编写相应的功能实现代码。我们可以将
这里您可能会存在应该迷惑,既然我们仅使用程序代码就可以构建一个完善的WPF程序,那么XAML是否也是一样呢?答案是否定的。WPF的程序中许多任务的实现只能通过程序代码才可以完成。但是对于一些最简单的WPF程序中,可以只包含XAML,下面是某个XAML文件的一小段代码:
示例代码1-1:
以下是引用片段: 01 <Button Background="Red" FontSize="24pt"> 02 Click Me 03 </Button> |
该代码片断是一个XAML元素,它包括一个开始标记、一个结束标记以及这两个标记之间的内容。在本示例中该元素是Button,在第1行代码处的开始标记中还包含了两个属性,这两个属性的名称分别为Background和FontSize。我们可以通过"="号给这些属性赋与一个相应的值,根据XAML的语法规则,这些属性值必须使用双引号包括起来(还存在一种使用单引号的情况,以后再介绍)。开始标记和结束标记之间则是元素内容,在本例中是显示在按钮表面上的文本,也就是第2行代码处的"Click Me"。注意,在上述的代码片断中我们并没有显式地设置Button元素的Width和Height属性。通常,WPF中的按钮和其他控件会根据其内容自动调整大小。正如第1行代码所示,Button的大小被设置为足以容纳 24 磅字体的"Click Me"文本字符串。此Button元素也不包括坐标位置。通常,控件在运行时会根据窗口和控件的大小在窗口中进行动态的定位。
为了查看该代码的上述代码片断的实际显示效果,我们可以将这段代码粘贴到Microsoft Windows SDK附带的XAMLPad工具中,而后XAMLPad会自动解析XAML代码并将最终的呈现显示出来。其效果如图1-1所示:
从上图可以看出,WPF自动将该按钮扩充至整个窗口,这在真正的WPF程序中是不可能允许这种情况发生的,为此我们可以通过向Button元素添加Width和Height这两个属性来控制其大小和宽度。我们可以将示例代码1-1修改如下:
以下是引用片段: 01 <Button Background="Red" FontSize="24pt" Width="200" Height="100"> 02 Click Me 03 </Button> |
我们在第1行代码的开始标记中添加了Width和Height这两个属性,并数值了相应的属性值,这样Button将不会再自动地填充整个的窗体,而是一个高为100、宽为200的矩形按钮。其最终的呈现效果如下:
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者