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语法概述及属性介绍的更多相关文章

  1. 基本 XAML 语法指南

    我们介绍了 XAML 语法规则,以及用于描述 XAML 语法中存在的限制或选项的术语.当出现以下情况时你会发现本主题很有用:不熟悉 XAML 语言的使用,希望加强对术语或某些语法部分的理解,或者对 X ...

  2. javascript运算符语法概述

    × 目录 [1]个数 [2]优先级 [3]结合性[4]类型[5]规则表 前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始 ...

  3. MySQL 安装 启动 基本语法概述

    MySQL 安装 启动 基本语法概述 MySQL安装和配置 我是直接使用安装包:mysql-installer-community-5.6.10.1.msi 安装的时候其中有几点要注意: 1.记住端口 ...

  4. 4 WPF学习---系统的学习XAML语法

    转载:http://blog.csdn.net/fwj380891124/article/details/8093001 1,XAML文档的树形结构: UI在用户眼里面是个平面结构.如下图所示,在用户 ...

  5. Objective-C语法概述

    Objective-C语法概述 简称OC 面向对象的C语言 完全兼容C语言 可以在OC里面混入C/C++代码 可以开发IOS和Mac OS X平台应用 语法预览 关键字 基本上都是以@开头(为了与C语 ...

  6. XAML属性赋值转换之谜(WPF XAML语法解密)

    XAML与XML类似,就是XML延伸过来的.为了更好的表达一些功能,WPF对XML做了扩展,有些功能是WPF在后台悄悄的替你做了.有时候,虽然实现了某个功能,但是对实现原理还是很茫然.今天就讲讲XAM ...

  7. <关于JSP技术>运行机制及语法概述(附对本次同济校内ACM选拔赛决赛的吐槽)

    (一)JSP运行的机制 JSP是一种建立在Servlet规范功能之上的动态网页技术,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过和ASP不同的是JSP文件中嵌入的是Java代码和JS ...

  8. WPF中 PropertyPath XAML 语法

    原文:WPF中 PropertyPath XAML 语法 PropertyPath 对象支持复杂的内联XAML语法用来设置各种各样的属性,这些属性把PropertyPath类型作为它们的值.这篇文章讨 ...

  9. 深入浅出WPF-03.XAML语法

    2 XAML语法 树形结构,我们将整个XAML的结构想象成一棵树,我们从树的顶部向下看,形成俯视图.最上面的叶子节点会覆盖父节点,同级的子节点,后面的(也就是树的最上面)会覆盖前面的.覆盖包含了形状( ...

随机推荐

  1. Use Sandcastle Help File Builder to generate help document

    http://shfb.codeplex.com/ Note: If the the help file contains the text "[Missing <param> ...

  2. [转]WPF 依赖项属性

    from:http://blog.csdn.net/datoumimi/article/details/8033682 ps:环境限制,发的东西一长就会被拦截,所以删了一部分 UI软件中经常会用到大量 ...

  3. Activity的Launch mode详解 singleTask正解

    Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance.以下逐一举例说明他们的区别: standard:Activity ...

  4. java转义字符

    JAVA中转义字符: 1.八进制转义序列:\ + 1到3位5数字:范围'\000'~'\377'       \0:空字符 2.Unicode转义字符:\u + 四个十六进制数字:0~65535    ...

  5. libcurl安装

    sudo apt-get install libcurl4-openssl-dev -lcurl

  6. 博主教你制作类似9patch效果的iOS图片拉伸

    下面张图片,本来是设计来做按钮背景的:   button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: // 得到view的尺寸 CGSize viewSize = ...

  7. [转]adb pull Permission denied及no such file错误

    adb pull  Permission denied及no such file错误 http://www.the8m.com/blog/article/javadk/adbpull.html XP系 ...

  8. Log4j详细使用教程

    日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下载到Log ...

  9. NGUI基础之button(按钮)

    1,button的创建:2,button组件的基本属性:3,button的事件监听 原位地址:http://blog.csdn.net/dingkun520wy/article/details/504 ...

  10. Notes of the scrum meeting(10/28)

    meeting time:4:00~6:00p.m.,October 28th,2013 meeting place:雕刻时光 attendees: 顾育豪                       ...