Xaml语法概述及属性介绍
Xaml语法概述
1.命名空间
xmal每个元素都对应着一个类,但是在xmal中,只提供类名是不够的,需要知道该类实在.net的哪个命名空间下面.Xaml解析器才能够正确的解析.
1 <Page
2 x:Class="App1.MainPage"
3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5 xmlns:local="using:App1"
6 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
7 xmlns:mc="http://schemas.openxmlformats.org/markup-
8
9 compatibility/2006"
10 mc:Ignorable="d"
11 Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
12
13 <Grid x:Name="RootLayout">
14
15 </Grid>
16 </Page>
上面代码两个特殊的命名空间,该命名空间会在所有的xmal文档中都有
A:xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
B: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
A是WP的核心命名空间,包含了大部分用来构建界面的控件类.该命名空间的声明没有使用任何命名空间的前缀,所以它是整个文档的默认命名空间,所以没有前缀的元素都自动位于该命名空间下.
?:何为命名空间前缀
B是Xaml的命名空间,它包含Xmal的实用特性,这些特性影响文档的解释方式,这个命名空间具有映射前缀x,即,可以通过在元素名称之前放置命名空间前缀,来使用
该命名空间,x:Name="RootLayout"
2.对象元素
xmal文档中 每一个 自闭合 或者 成对闭合的 标签都是一个对象
<Grid></Grid> <Button/>
3.设置属性
xmal中的属性设置,有多种语法,但是并非全部都的属性设置都是通用的
a.使用属性语法
<Rectangle Name="Rectag" Height="100" Width="100" Fill="Blue" HorizontalAlignment="Left"/>
b.使用属性元素语法
对象.属性. 属性语法的前提 该属性必须也要是Xaml 的一个对象元素
<Rectangle Name="Rec2" Height="100" Width="100" HorizontalAlignment="Left">
<Rectangle.Fill>
<SolidColorBrush Color="Yellow"> </SolidColorBrush>
</Rectangle.Fill>
</Rectangle>
c.使用内容元素语法
<Border>
<Button Content="Button"/>
</Border>
这种语法 给Border 对象设置了Child属性 也就是说 我们可以直接写出一个对象
来赋值另个对象的某些属性,但是只有特别的一些属性可以用这种内容元素语法,
比如元素的Child属性,Content属性
d.使用集合语法
如果属性的值是一个集合,就需要用集合语法去设置该属性
c# add方法可以添加的属性集合
<Rectangle Width="200" Height="150">
<Rectangle.Fill>
<LinearGradientBrush>
<GradientStopCollection>
<GradientStop Offset="0.0" Color="Coral"></GradientStop>
<GradientStop Offset="1.0" Color="Green"></GradientStop>
</GradientStopCollection>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
有些属性 既是集合属性 又是内容属性
4.附加属性
<Canvas>
<Button Canvas.Left="50" Content="0.0"></Button>
</Canvas>
又叫做依赖属性 button 对象本来是没有Left属性的 ,但是该对象 放在Canvas布
局中 ,有了Canvas 的附加属性来设置 该对象在Canvas中的位置,即 所有Canvas
下面的对象 可以设置该属性的对象 都会有该依赖属性.
5.标记扩展
<StackPanel>
<TextBlock Text="{Binding Source={StaticResource my},Path=Per}"></TextBlock>
</StackPanel>
Binding(绑定)
StaticResource静态资源
TemplateBinding(模板绑定)
RelativeSource绑定关联源
Xaml语法概述及属性介绍的更多相关文章
- 基本 XAML 语法指南
我们介绍了 XAML 语法规则,以及用于描述 XAML 语法中存在的限制或选项的术语.当出现以下情况时你会发现本主题很有用:不熟悉 XAML 语言的使用,希望加强对术语或某些语法部分的理解,或者对 X ...
- javascript运算符语法概述
× 目录 [1]个数 [2]优先级 [3]结合性[4]类型[5]规则表 前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始 ...
- MySQL 安装 启动 基本语法概述
MySQL 安装 启动 基本语法概述 MySQL安装和配置 我是直接使用安装包:mysql-installer-community-5.6.10.1.msi 安装的时候其中有几点要注意: 1.记住端口 ...
- 4 WPF学习---系统的学习XAML语法
转载:http://blog.csdn.net/fwj380891124/article/details/8093001 1,XAML文档的树形结构: UI在用户眼里面是个平面结构.如下图所示,在用户 ...
- Objective-C语法概述
Objective-C语法概述 简称OC 面向对象的C语言 完全兼容C语言 可以在OC里面混入C/C++代码 可以开发IOS和Mac OS X平台应用 语法预览 关键字 基本上都是以@开头(为了与C语 ...
- XAML属性赋值转换之谜(WPF XAML语法解密)
XAML与XML类似,就是XML延伸过来的.为了更好的表达一些功能,WPF对XML做了扩展,有些功能是WPF在后台悄悄的替你做了.有时候,虽然实现了某个功能,但是对实现原理还是很茫然.今天就讲讲XAM ...
- <关于JSP技术>运行机制及语法概述(附对本次同济校内ACM选拔赛决赛的吐槽)
(一)JSP运行的机制 JSP是一种建立在Servlet规范功能之上的动态网页技术,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过和ASP不同的是JSP文件中嵌入的是Java代码和JS ...
- WPF中 PropertyPath XAML 语法
原文:WPF中 PropertyPath XAML 语法 PropertyPath 对象支持复杂的内联XAML语法用来设置各种各样的属性,这些属性把PropertyPath类型作为它们的值.这篇文章讨 ...
- 深入浅出WPF-03.XAML语法
2 XAML语法 树形结构,我们将整个XAML的结构想象成一棵树,我们从树的顶部向下看,形成俯视图.最上面的叶子节点会覆盖父节点,同级的子节点,后面的(也就是树的最上面)会覆盖前面的.覆盖包含了形状( ...
随机推荐
- VirtualBox内Linux系统与Windows共享文件夹
在日常工作或学习中我们经常需要在一台电脑上同时使用Windows和Linux(这里以Ubuntu为例)两个系统,我们通常的做法有两种: 一种安装双系统(双系统的安装方法经验里已经有很多,大家可以去参照 ...
- snmptrap使用
SNMP简单网络管理协议,其中其支持的一个命令snmptrap命令,用于模拟向管理机发送trap消息. 启动陷阱方法: snmptrapd -C -c /etc/snmp/snmptrapd.co ...
- verilog逻辑复制
本文转自:http://www.cnblogs.com/linjie-swust/archive/2012/03/27/FPGA_verilog.html 在FPGA设计中经常使用到逻辑复制,逻辑复制 ...
- nullptr和NULL
nullptr是c++11中的关键字,表示空指针 要区分nullptr和NULL,首先要明白NULL的含义: NULL是一个宏定义,在c和c++中的定义不同,c中NULL为(void*)0,而c++中 ...
- VBS基础篇 - 常量
常量:指的是在程序运行过程中其值保持不变的量,它用来保存固定不变的数值,字符串等常数 . 常量的定义:在vbscript中使用使用 Const 指令可以创建名称具有一定含义的字符串型或数值型常量,并给 ...
- python学习小结2:if和while控制语句
if语句 if语句中,代码块是按缩进的空格数量来判断的,也就是说空格数量一致的相邻行会被当作一个代码块,当if的条件成立的时候它就会得到执行. x = 100 if x > 50: print ...
- 最火的.NET开源项目(转)
综合类 微软企业库 微软官方出品,是为了协助开发商解决企业级应用开发过程中所面临的一系列共性的问题, 如安全(Security).日志(Logging).数据访问(Data Access).配置管理( ...
- Careercup - Google面试题 - 5732809947742208
2014-05-03 22:10 题目链接 原题: Given a dictionary, and a list of letters ( or consider as a string), find ...
- FACL的使用
ACL的使用 ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一 ...
- release下去除nslog宏
#ifdef __OPTIMIZE__ #define NSLog(...) #endif 加在pch文件里面