理解Xaml标记语言
理解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标记语言的更多相关文章
- HTML(超文本标记语言)的内容和理解
由于上篇文章中提到WebMethod的Description 属性(propery)中可以使用超文本,因此就记录一篇关于超文本的文章以供参考,注意:Description=" HTML格式 ...
- WPF教程一:创建Hello world来理解XAML的内容及编译
在实际的WPF开发中遇到很多再用Winform写法来写WPF的开发人员,很多时候项目进度延期.出现非必要的BUG等等.大多是因为开发人员虽然是再写WPF. 但是没有好好的学过WPF,就导致无法发挥出W ...
- 超文本标记语言(HTML)
超文本标记语言(HyperText MarkUp Language,HTML) HTML是用来制作网页的标记语言,HTML不需要编译,直接由浏览器解析: HTML文件是一个文本文件,包含了一些HTML ...
- Markdown轻量级标记语言
1. Markdown是什么? Markdown是一种轻量级标记语言,它以纯文本形式(易读.易写.易更改)编写文档,并最终以HTML格式发布.Markdown也可以理解为将以MARKDOWN语言编写的 ...
- 模型标准化——预测模型标记语言(PMML)
https://www.cnblogs.com/pinard/p/9220199.html 在机器学习用于产品的时候,我们经常会遇到跨平台的问题.比如我们用Python基于一系列的机器学习库训练了一个 ...
- 超文本标记语言HTML
介绍html文档的基本结构,html常用标签的使用,理解html语言制作网页基本原理. html概述和基本结构 html概述 HTML是 HyperText Mark-up Language 的首字母 ...
- 前端基础-HTML标记语言
阅读目录 一. HTML标签与文档结构 二. HTML标签详细语法与注意点 三. HTML中标签分类 四. HTML注释 一. HTML标签与文档结构 HTML作为一门标记语言,是通过各种各样的标签来 ...
- XML(可拓展标记语言)
XML 是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词.短语或块成为 ...
- Markdown与标记语言
Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的语法十分简单.常用的标记符号也不 ...
随机推荐
- .CHM文件使用问题
1.查看时内容为空---解除锁定 解决方案:选中xx.CHM,右键点击属性,常规选项卡中点击“解除锁定”.OK了 2.内容显示乱码---修改浏览器编码 IE中的查看 > 编码 > 自动选择 ...
- PLSQL Developer 13.0.0.1883 注册码
PLSQL Developer 13.0.0.1883 注册码 product code: 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3le serial Number:22695 ...
- SnowFlake 生成全局唯一id
public class SnowFlakeUtil { private long workerId; private long datacenterId; private long sequence ...
- 【04】循序渐进学 docker:Dockerfile
写在前面的话 从前面我们简单的了解了镜像,也运行了容器,各种官方的镜像显然无法满足我们自己的需求,我们目的终究是运行自己的业务. 所以,本章节的 Dockerfile 就主要讲怎么在官方镜像的基础上制 ...
- UI Automator Viewer的使用
uiautomatorviewer是android SDK自带的工具.通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务.该工具位于SDK目录下的tools\bin子目录下.可以看到,它是 ...
- D. Magic Box(几何)
One day Vasya was going home when he saw a box lying on the road. The box can be represented as a re ...
- 驼峰转大写(javaScript)
var a = function(s){return s.replace(/([A-Z])/g,"_$1").toUpperCase();} F12控制台可以直接用
- 升级Linux中的JAVA版本
首先查看本机中的JAVA版本 如何需要卸载掉现有的JAVA版本的话,可以使用rpm -qa | grep java 和 rpm -e xxx --nodeps进行卸载 登录到JAVA官方下载界面,提供 ...
- Python多继承的C3算法
C3算法 一.知识点补充: 拓扑排序:在图论中,拓扑排序(Topological Sorting) 是一个 有向无环图(DAG,Directed Acyclic Graph) 的所有顶点的线性序列.且 ...
- 浅谈Ionic2
http://www.cnblogs.com/zhouming-web/p/6226323.html 前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScrip ...