[笔记/简译]XAML揭秘(8)

XAML关键字

XAML语言命名空间http://schemas.microsoft.com/winfx/2006/xaml中定义了许多由XAML编译器/解析器负责处理的关键字:

 

x:Class

[类型]根元素的属性

[作用]设置派生自根元素类型的类名(可包含命名空间)

 

x:ClassModifier

[类型]根元素的属性

[条件]必须与x:Class一起使用

[作用]设置x:Class的访问权限,默认为public,且其必须遵循程序语言的规定(如C#中可以指定publicinternal

 

x:Code

[类型]任意位置的元素

[条件]必须与x:Class一起使用

[作用]在由x:Class指定的类中嵌入程序代码

 

x:FieldModifier

[类型]任意非根元素的属性

[条件]必须与x:Name属性一起使用

[作用]设置为元素生成的字段变量的访问权限,默认为internal,且其必须遵循程序语言的规定(如C#中可以指定publicprivate等)

 

x:Key

[类型]元素的属性,该元素的父元素实现了IDictionary接口

[作用]设置字典集合项的键值

 

x:Name

[类型]任意非根元素的属性

[条件]必须与x:Class一起使用

[作用]设置为该元素生成的字段变量的名称,在程序代码中可通过该变量引用元素对象

 

x:Shared(暂不明)

[类型]ResourceDictionary的子元素的属性

[条件]仅在XAML被编译后可用

[作用]设置为false用以避免多处共享相同的资源实例

 

x:Subclass

[类型]根元素的属性

[条件]必须与x:Class一起使用

[作用]设置派生自x:Class的子类名称(可包含.NET命名空间),用于不支持分部类的.NET语言

 

x:TypeArguments(暂不明)

[类型]根元素的属性

[条件]必须与x:Class一起使用

[作用]使得根类成为使用指定泛型参数的泛型类,可用逗号分隔泛型参数列表;对于那些不在默认命名空间中的类型应使用XML命名空间前缀予以限定。

 

x:Uid

[类型]任意任意元素的属性

[作用]用一个标识符标记元素,用于本地化

 

x:XData(暂不明)

[类型]元素,其值为IXmlSerializable的任意属性

[作用]一个任意的XML数据岛,它对XAML解析器透明

 

XAML语言命名空间中还包含一些容易混淆的关键字,但它们实际上是扩展标记。

 

x:Array

表示.NET数组,每个x:Array的子元素都是该数组中的一个元素,使用x:Type定义它的类型。

 

x:Null

表示空引用。

 

x:Static

引用定义在程序代码中的静态属性、字段、常量或枚举值。在XAML被编译之后,该值甚至可以是相同程序集中的非公有成员。如果该类型不在默认的命名空间中,则x:StaticMember属性值必须受XML命名空间前缀的限制。

 

x:Type

表示一个System.Type的实例,就像C#中的typeof操作符。如果该类型不在默认的命名空间中,则x:TypeTypeName属性值必须受XML命名空间前缀的限制。

 

(上面这些关键字之中,凡是需要与x:Class一同使用的,都需要定义code-behind文件,因为只有生成类的源码,定义如Button的字段变量才有意义。另外,在VS2005外加WPF2006CTP扩展的环境下,不知是因为其余关键字已被废弃,还是智能感知不够完善,还是其它什么原因,总之x命名空间中仅有三个可供选择的关键字。不过还好,像x:Code这样的关键字只要直接敲进去还是可以直接使用的。还有几天就能用上VS2008了,到时候再看一看吧。)

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值