zoukankan      html  css  js  c++  java
  • 零起点学习WPF之《WPF揭秘》读书笔记(4)

    2.8.3XAML 关键字


    XAML语言命名空间(http://schemas.microsoft.com/winfx/2006/xaml)定义了一批XAML解析器和编译器必须特殊处理的关键字。

     

    XAML命名空间的关键字,采用习惯性的x作为命名控件的前缀。

    关键字

    何时有效

    含义与描述

    x:Class

    根元素的特性

    为根元素定义一个派生自元素类型的类,也可以在类型前面加上.NET命名空间的前缀。(可选)

    x:ClassModifier

    根元素的特性,必须与x:Class一起使用

    定义由x:Class指定的类的可见性【默认是可见的】。例如C#中的public 和 internal

    x:Code

    XAML的任何位置元素,但必须与x:Class一起使用

    嵌入过程式代码,会被插入由x:Class指定的类中

    x:FileModifier

    非根元素上的特性,但必须与x:Name(或者等效关键字)一起使用

    定义生成的元素【默认是内部元素】字段的可见性。例如C#中的public internal  等等。

    x:Key

    父元素实现了IDictionary接口

    当被添加到父元素的字典中时,请为该项添加键名。

    x:Name

    非根元素上的特性,但必须与x:Class一起使用

    为  给元素生成的字段选择一个名称,这样它就可以在过程式代码中使用了。

    x:Shared

    Resource-IDictionary对象中的元素特性,但只有在XAML编译后才可使用。

    可以被设置为False用来避免多个地方共享资源实例。

    x:SubClass

    根元素的特性,与x:Class一起使用

    为保存XAML内容的x:Class类指定一个子类,可以用.NET命名空间作为可选前缀。(用于那些不支持部分类的语言)

    x:TypeArguments

    根元素特性,必须与x:Class一起使用

    使根类成为泛型,如List<T>,且带有指定的泛型参数实例(如:List<int32>,List<string>),可以设置一个用逗号泛型参数代码清单,如果某种类型不在默认的命名空间里,则需要加上XML命名空间前缀

    x:Uid

    元素特性

    为元素 添加一个本地化的ID

    x:Xdata

    用于某一个IXmlSerializable类型属性的值的元素。

    对XAML解析器透明的任一个XML数据岛

    下面这些是XAML中的标记扩展(如System.Windows.MarkUp命名空间中正真的.NET类)【注意表中的每一个类的后缀Extension

    标记扩展

    含义

    x:Array

    代表一个.NET数组,x:Array元素的子元素都是数组元素,它必须与x;Type一起使用、用于定义数组类型。

    x:Null

    表示一个空引用

    x:Static

    引用在过程式代码中定义的任何一个静态的属性、常量或者枚举值。在XAML编译后这也可以是用一个程序集中的一个非公共成员。如果在默认的命名空间没有该类型,Member字符串必须有XML命名空间前缀。

    x;Type

    表示System.Type的一个实例就是C#中的typeof操作符。如果在默认的命名空间没有该类型,TypeName字符串必须有XML命名空间前缀。

    【小节】
    至此,我们可以将XAML语言转化成相应.NET语言(比如:C#),也可以把C#语言转化成XAML。然而、因为类型转换器金额标记扩展是“黑盒”,直接翻译或者是转化是不太可能的。也就是说,如果你不能理解在内部转换是如何进行的也没有关系,因为从过程是代码中直接调用类型转化器也是可选的。(许多拥有对应的类型转化器的类、都会提供一个静态的Parse方法 ,做的都是同样的一件事,这是为了简化过程是代码而加进去的。)



    返回导读目录,阅读更多随笔



    分割线,以下为博客签名:

    软件臭虫情未了
    • 编码一分钟
    • 测试十年功


    随笔如有错误或不恰当之处、为希望不误导他人,望大侠们给予批评指正。

  • 相关阅读:
    include包含文件查找的顺序
    cookie知多少
    关于“异步可插协议”(About Asynchronous Pluggable Protocols(APPs))
    win7+vs2010下编译chrome
    chrome命令行参数
    头文件预编译
    IBindStatusCallback 状态码
    DEP相关
    调试子进程
    windbg 调试
  • 原文地址:https://www.cnblogs.com/08shiyan/p/1818212.html
Copyright © 2011-2022 走看看