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的结构想象成一棵树,我们从树的顶部向下看,形成俯视图.最上面的叶子节点会覆盖父节点,同级的子节点,后面的(也就是树的最上面)会覆盖前面的.覆盖包含了形状( ...
随机推荐
- JPG各种输入框样式
输入框景背景透明:<input style="background:transparent;border:1px solid #ffffff"> 鼠标划过输入框,输入框 ...
- php Smarty date_format [格式化时间日期]
Example 5-8. date_format[日期格式] index.php: 复制代码代码如下: $smarty = new Smarty; $smarty->assign('yester ...
- openerp学习笔记 计算字段支持搜索
示例1: # -*- encoding: utf-8 -*-import poolerimport loggingimport netsvcimport toolslogger = netsvc.Lo ...
- hdu 5451 Best Solver 矩阵循环群+矩阵快速幂
http://acm.hdu.edu.cn/showproblem.php?pid=5451 题意:给定x 求解 思路: 由斐波那契数列的两种表示方法, 之后可以转化为 线性表示 F[n] = ...
- MySQL监控工具-orztop
先安装orzdba,链接:http://blog.itpub.net/28939273/viewspace-1875895/ 安装依赖的包:[root@hank-yoon servers]# yum ...
- 提高SQL语句的性能
一.FROM子句中的表 FROM子表的安排或次序对性能有很大的影响,把较小的表放在前面,把较大的表放在后面,可以得到更高的效率. 二.WHERE子句中的次序 一般来自基表的字段放在结合操作的右侧,要被 ...
- 如何正确理解深度学习(Deep Learning)的概念
现在深度学习在机器学习领域是一个很热的概念,不过经过各种媒体的转载播报,这个概念也逐渐变得有些神话的感觉:例如,人们可能认为,深度学习是一种能够模拟出人脑的神经结构的机器学习方式,从而能够让计算机具有 ...
- 信息传递--NOIP2015 day1 T2--暴力
这道题我用了判联通量加暴力,但联通量判炸了....然后从code[VS]上看到个不错的代码,就拿来了^_^... 基本思路是去掉环外的点,然后走每一个联通块. #include <iostrea ...
- linux驱动之I2C
include/linux/i2c.h struct i2c_msg;struct i2c_algorithm;struct i2c_adapter;struct i2c_client;struct ...
- Halcon学习笔记之缺陷检测(二)
例程:detect_indent_fft.hdev 说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步: 首先,我们用高斯滤波器构造一个合适的滤波 ...