理解XAML

XAML基于XAML,因而具有与XAML相似的特性。在XAMl中,同样必须区分大小写,但是Xaml以.xaml作为扩展名,表示这是一个应用程序的标记扩展文件。WPF中的XAML主要用于创建用户UI,然后使用代码隐藏部分文件来分离表现与逻辑表现。

XAML 是什么

  在WPF中,XAML是一种与.NET CLR紧密集成的声明性UI标记语言。XAML中的对象元素均一一对应到CLR中的类型或结构。XAML属性(Attribute)对应到相应CLR类型的属性(property)。XAML命名空间对应到CLR中的类的命名空间,元素类型则

对应到CLR中的类型,这就是说,用XAML所能做到的事情,也可以使用传统的程序代码进行实现,但是用传统程序代码所能实现的事情用XAML则不一定能成功。

  

<Windows heiht="200" width="500"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- 先将windows的heiht="200" width="500"-->
<Grid Background="beige">
<!-- 定义一个三行二列的网格-->
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<!-- 在每行和每列分别放置分本快-->
<TextBlock Grid.Column="0" Grid.Row="0" >书名</TextBlock>
<TextBlock Grid.Column="0" Grid.Row="1" Text="学习" />
<TextBlock Grid.Column="1" Grid.Row="0" Text="上学" />
</Grid>
</Windows>

在这段代码中,有如下几个部分组成。

  一个根元素<Windows>和</Windows> 标记。在XAML中,必须有且直能有一个根元素。

  •   紧接着根元素的是XAML命名空间的声明,在没一个XAML文件中,必须要具有两个命名空间。xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation命名空间

表示WPF命名空间,也就是没一个XAML元素所对应到的CLR类的命名空间。而xmlns:xhttp://schemas.microsoft.com/winfx/2006/xaml 则用于表示XAML文件本身的命名空间。注意其语法是

Xmlns:x这个x是一个命名的前缀,可以是任意字符。

  •   接下来是<Grid>和</Grid>标记,代表次此XAML文件的UI内容,本实例使用了两行三列的网格来进行用户界面的布局,并在行列中分别放置了6个TextBlock元素,
  • TextBlock是文本元素,在该元素中使用WPF的附加属性特性设定其位于Grid中的位置。

  XAML的种类

    在.NET Framework 4.5平台中,实际上存在几种不同的XAML。主要有如下几种类型的应用

  用于WPF的XAML: 包含用于描述WPF内容的元素,比如矢量图形,控件和文档等,这是当前XAML最重要的应用

  用于XPS的XAML: 属于WPF XAML的一部分,用于定义格式化电子文档的XML描述

  用于SIlverlight 的XAML: 同样地,用户Silverlight的XAML也是WPF XAML的一个子集,主要用户Silverlight应用程序。Silverlight是一个跨平台的浏览器插件,允许开发人员创建富WEB内容,

包含二维绘图,动画和音视频等。

  

理解Xaml标记语言的更多相关文章

  1. HTML(超文本标记语言)的内容和理解

    由于上篇文章中提到WebMethod的Description 属性(propery)中可以使用超文本,因此就记录一篇关于超文本的文章以供参考,注意:Description=" HTML格式  ...

  2. WPF教程一:创建Hello world来理解XAML的内容及编译

    在实际的WPF开发中遇到很多再用Winform写法来写WPF的开发人员,很多时候项目进度延期.出现非必要的BUG等等.大多是因为开发人员虽然是再写WPF. 但是没有好好的学过WPF,就导致无法发挥出W ...

  3. 超文本标记语言(HTML)

    超文本标记语言(HyperText MarkUp Language,HTML) HTML是用来制作网页的标记语言,HTML不需要编译,直接由浏览器解析: HTML文件是一个文本文件,包含了一些HTML ...

  4. Markdown轻量级标记语言

    1. Markdown是什么? Markdown是一种轻量级标记语言,它以纯文本形式(易读.易写.易更改)编写文档,并最终以HTML格式发布.Markdown也可以理解为将以MARKDOWN语言编写的 ...

  5. 模型标准化——预测模型标记语言(PMML)

    https://www.cnblogs.com/pinard/p/9220199.html 在机器学习用于产品的时候,我们经常会遇到跨平台的问题.比如我们用Python基于一系列的机器学习库训练了一个 ...

  6. 超文本标记语言HTML

    介绍html文档的基本结构,html常用标签的使用,理解html语言制作网页基本原理. html概述和基本结构 html概述 HTML是 HyperText Mark-up Language 的首字母 ...

  7. 前端基础-HTML标记语言

    阅读目录 一. HTML标签与文档结构 二. HTML标签详细语法与注意点 三. HTML中标签分类 四. HTML注释 一. HTML标签与文档结构 HTML作为一门标记语言,是通过各种各样的标签来 ...

  8. XML(可拓展标记语言)

      XML 是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词.短语或块成为 ...

  9. Markdown与标记语言

    Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的语法十分简单.常用的标记符号也不 ...

随机推荐

  1. Magicodes.NET框架之路[转]

    插件式框架 响应式布局以及前后端对移动设备的支持 便捷的业务代码生成,比如CRUD生成,并且表单支持根据不同数据类型或特性生成相应的展示组件. 从框架到插件包括代码生成模板均走开源路线,便于理解和定制 ...

  2. documeant 学习总结(二)

    (一)移除节点及属性     /**移除节点和属性的操作     * @throws DocumentException     */    public void RemoveOperator()  ...

  3. 百度联盟广告 http://cpro.baidustatic.com/cpro/ui/c.js

    <script src="http://cpro.baidustatic.com/cpro/ui/c.js" type="text/javascript" ...

  4. [Swift实际操作]八、实用进阶-(7)使用通知的方法进行对象间的消息传递

    本文将为你演示,如何使用Notification Center进行消息的传递.通知中心是一个调度消息通知的类,采用单例设计模式,实现数据传递,回调等功能.首先打开自定义视图的代码文件(CustomVi ...

  5. type=file 自定义文件默认可选类型

    <input type="file" accept=".csv, application/vnd.openxmlformats-officedocument.spr ...

  6. jxl操作excel单个单元格换行和获取换行

    excel中同表格换行: a+"\n"+b 1.读取 String str = sheet.getCell(c, r).getContents(); String[] split ...

  7. Binaries和Source、tgz和zip的区别

    在下载页面会有2种下载分类,一个是Binaries,一个是source,一般开放原代码软件都会有两个版本发布: Source Distribution 和 Binary Distribution ,二 ...

  8. 数论 CF230B T-primes

    CF230B T-primes 我们知道质数是只有两个不同的正数因数的正整数.相似的,我们把一个正整数 t 叫做 T质数,如果 t 恰好有三个不同的正整数因数. 你被给了一个含有 n 个正整数的数组. ...

  9. iOS8 dismissViewControllerAnimated:YES在Show Segue不工作

    最近使用iOS8 Sdk(xcode6.1.1)使用Show Segue功能,V_A视图push到V_B视图,然后想通过使用按键返回V_A,我记得ios6的时候可以使用[self dismissVie ...

  10. linux 系统管理(二) 磁盘分区

    LINUX下分区命令Parted详解 通常划分分区工具我们用的比较多是fdisk命令,但是现在由于磁盘越来越廉价,而且磁盘空间越来越大. 而fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁 ...