理解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. 比特币解锁脚本中的ScriptSignature都包含了什么东西

    比特币 解锁脚本signature script 包含了那些东西? 使用 UTXO 需要私钥签名,私钥到底都签了什么东西呢?一直比较好奇. 比特币的私钥签名总共有五中类型,具体见 btcd 代码,如下 ...

  2. 零散知识点总结(持续更新……)

        这篇博客用于记录平时学习中遇到的零散的知识点,它们不适于单独写一篇长博客,在这里记录下来一是为了增强记忆,二是为了方便复习总结.这篇博客会持续更新... 一.JS数据类型及类型判断 1. JS ...

  3. HAOI2010 最长公共子序列

    题目链接:戳我 30分暴力....暴力提取子序列即可qwqwq #include<iostream> #include<cstdio> #include<algorith ...

  4. 6.BOM

    BOM的介绍 浏览器对象模型. 操作浏览器部分功能的API.比如让浏览器自动滚动. BOM的结构图 window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子 ...

  5. Linux Shell 自动化之让文本飞

    Linux Shell 自动化之让文本飞 一.前言: ​ 作者之前在一家 IDC 从事运维兼职工作,后来因某些原因辞职开始 Python 爬虫数据分析.因为这些经历以及后续时间积累下的经验,发现好像自 ...

  6. word的xml文件中给文字添加超链

    <w:hlink w:dest="http://xxx.com"><w:r></w:r></wr></w:hlink>& ...

  7. todocmvc的安装

    安装依赖 官网 安装依赖的css,js $npm install 引入vue <script src="js/vue.js"></script> 定义初始化 ...

  8. spotless-maven-plugin java代码自动格式化mvn spotless:apply -fn

    <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven ...

  9. 基于两阶段提交的分布式事务实现(UP-2PC)

    引言:分布式事务是分布式数据库的基础性功能,在2017年上海MySQL嘉年华(IMG)和中国数据库大会(DTCC2018)中作者都对银联UPSQL Proxy的分布式事务做了简要介绍,受限于交流形式难 ...

  10. pyinstaller打包工具简单使用

    python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件将可跨平台使用,那么怎么打包了,python提供了专门的模块:pyinstaller,下面就介绍下怎么用 1.安装 ...