理解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 的语法十分简单.常用的标记符号也不 ...
随机推荐
- WPF MaterialDesignInXamlToolkit锁屏恢复后页面冻结的问题
在做WPF项目时,用到 MaterialDesignInXamlToolkit 开源项目.结果客户用的时候发现这个问题,锁屏后,界面不刷新. 如果不用MaterialDesign,测试后不会出现这个问 ...
- Ubuntu64 apache2+lvs+Keepalived
安装 apache2, vim, keepalived 和 ipvsadm 打开 vim /etc/keepalived/keepalived.conf 点击 i, 进入编辑状态, 输入: ! Con ...
- Linux系统忘记管理员密码(CentOS、RHEL、Ubuntu)
Linux系统忘记管理员密码(CentOS.RHEL.Ubuntu) 系统使用过程中,尤其是生产环境中.万一忘记管理员密码,该怎么办?是不是很绝望? 1.RHEL 7.0 重启主机进入引导界面键入e键 ...
- Mysql 索引原理《一》索引原理与慢查询2
一 索引未命中 并不是说我们创建了索引就一定会加快查询速度,若想利用索引达到预想的提高查询速度的效果,我们在添加索引时,必须遵循以下问题 1 范围问题,或者说条件不明确,条件中出现这些符号或关键字:& ...
- “全栈2019”Java第十六章:下划线在数字中的意义
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 《OD大数据实战》环境整理
一.关机后服务重新启动 1. 启动hadoop服务 sbin/hadoop-daemon.sh start namenode sbin/hadoop-daemon.sh start datanode ...
- Struts2框架里面action与前端jsp页面进行交互路径问题---》一个对话框里面有很多超链接,进行相应的跳转
一个对话框里面有很多超链接,右边是点击超链接跳转到的相应页面(在一个页面上就相当于点击该超链接时候,就把该简短页面置顶):这个问题困扰我两天:还请大神给我解决,也没有解决,我仔细对比了相关路径,后面添 ...
- python为何需要虚拟环境--Python虚拟环境的安装和配置-virtualenv
一 虚拟环境 virtual environment 它是一个虚拟化,从电脑独立开辟出来的环境.通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容 ...
- sql charIndex用法
CHARINDEX(): 写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAE ...
- 4G和有线网络的自动切换
最近项目有个需求,把移动服务器设备(Ubuntu14.04)安装4G模块,但如果连接有线时,可以自动切换到有线,以降低移动流量带来的费用. 以下是我实现的方法(经过一番痛苦的摸索) 1. 脚本/opt ...