每天看一点,每天进步一点。

x名称空间映射的是http://schemas.microsoft.com/winfx/2006/xaml,它包含的类均与解析XAML语言关,亦可称为“XAML名称空间”。

x名称空间主要包括Attribute、标记扩展和XAML指令元素三类。

  • Attribute x:Class x:ClassModifier x:Name x:FiledModifier x:Key x Shared

x:Class的作用是告诉XAML编译器将XAML标签的编译结果与后台中指定的类合并。

x:ClassModifer 是控制类的访问级别,必须与x:Class所指的类的访问级别一致。

x:Name 注册控件,方便后台访问。在XAML代码中是使用Name呢,还是使用x:Name?Name属性定义在FrameworkElement类中,这个类是WPF控件的基类,所以所有WPF控件都具有Name这个属性。当一个元素具有Name属性时,你使用Name和x:Name是一样的。比如<Button x:Name = "btn"/>和<Button Name = "btn"/>,XAML编译器的动作都是声明名为btn的Button类型变量并引用一个Button类型实例,而且此实例的Name属性值亦为btn。对于没有Name属性的则使用x:Name。x:Name涵盖了Name属性的功能所以全部采用x:Name可以增强代码的统一性和可读性。

x:FieldModifier是用来改变引用访问级别的。

x:Key的作用是为资源贴上用于检索的索引。

x:Shared  值为false时得到的资源是一个新的副本,true时得到的资源是同一个对象,默认的值是true。这个属性要与x:Key 搭配使用。

  • 标记扩展 x:Type x:Null x:Arry x:Static

x:Type 当我们在XAML中想表达某个数据类型时就需要使用x:Type标记扩展。

x:Null 显示的对一个属性赋一个空值。

x:Array  的作用就是通过它的Items属性向使用者暴露一个类型已知的ArrayList实例,ArrayList内成员的类型由x:Array的Type指明。

<ListBox>
<ListBox.ItemsSource>
<x:Array Type="sys:String">
<sys:String>Tim</sys:String>
<sys:String>Tom</sys:String>
<sys:String>Victor</sys:String>
</x:Array>
</ListBox.ItemsSource>
</ListBox>

x:Static是一个很常用的标记扩展,它的功能是在XAML文档中使用数据类型的static成员。

  • 指令元素 x:Code x:XData

x:Code可以在XAML代码中放C#代码,这非常不常用,这样会使代码难以维护,不易调试。

x:XData标签是一个专用标签。如果想要在XAML里声明一个带有数据的XmlDataProvider实例,那么XmlDataProvider实例的数据就要放在x:XData标签的内容里。

WPF读书笔记 x名称空间详解(第二天)的更多相关文章

  1. [No000013F]WPF学习之X名称空间详解

    X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的.用来引导XAML代码将XAML代码编译为CLR代码. 4.1X名称空间里面到底都有些什么? x名称空间映射的是:htt ...

  2. WPF学习之X名称空间详解

    X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的.用来引导XAML代码将XAML代码编译为CLR代码. 4.1X名称空间里面到底都有些什么? x名称空间映射的是:htt ...

  3. 深入浅出WPF-04.x名称空间详解

    x名称空间详解 几个需要特别说明的名称空间: x:Class 用来标记XAML和后台代码之间的合并关系.x:Class根节点的类型必须和x:Class值指向的类型保持一致.x:Class的值指向的类型 ...

  4. 9、XAML名称空间详解

    XAML命名空间 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"      ...

  5. WPF 基础 - x 名称空间详解

    名称 种类(默认Attribute) 备注 x:Array 标记拓展 可作为 ListBox.ItemsSource 的值 x:Class 指定与 .cs 中哪个类合并,所指示的类型在声明时使用 pa ...

  6. 《Javascript高级程序设计》读书笔记之bind函数详解

    为什么需要bind var name = "The Window"; var object = { name: "My Object", getNameFunc ...

  7. Oracle表空间详解

    Oracle表空间详解 1.表空间的分类 Oracle数据库把表空间分为两类:系统表空间和非系统表空间. 1.1系统表空间指的是数据库系统创建时需要的表空间,这些表空间在数据库创建时自动创建,是每个数 ...

  8. ORACLE结构体系篇之表空间详解.md

    表空间详解一.系统表空间SYSTEM 表空间是Oracle 数据库最重要的一个表空间,存放了一些DDL 语言产生的信息以及PL/SQL 包.视图.函数.过程等,称之为数据字典,因此该表空间也具有其特殊 ...

  9. IP2——IP地址和子网划分学习笔记之《子网掩码详解》

    2018-05-04 16:21:21   在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...

随机推荐

  1. html5中viewport使用

    html5中viewport使用 转载自:http://www.maoegg.com/the-usage-of-viewport-in-html5/ 用html5开发移动应用时往往会遇到手机的分辨率或 ...

  2. php测试代码工具类

      <?php error_reporting (E_ALL); ini_set ('display_errors', 'on'); ?> <meta http-equiv=&quo ...

  3. apply方法别有他用!

    首先是apply()一个很强大的功能——能将一个数组默认转化为参数列表!!! 应用: 1.求出一个数组中的最大值 var arr= [1, 3, 3, 6]; var max =Math.max.ap ...

  4. Floyd判圈算法(判断是否有环)

    介意转吗博主~~http://blog.csdn.net/thestoryofsnow/article/details/6822576,我知道不介意啦~ 问题:如何检测一个链表是否有环,如果有,那么如 ...

  5. 使用Zencoding的升级版Emmet

    最近vim7.4也更新了,zengcoding好像停止了更新,更换成emmet了,使用还是和Zencoding一样. emmet的地址在http://emmet.io/   支持很多的编辑器和IDE. ...

  6. [gulp] gulp lint 忽略文件

    how does the ignore parameter works in gulp and nodemon? 参考了 前端构建工具gulp入门教程,里面的lint我不需要检查所有js下面的文件,因 ...

  7. Jquery 实现Xml文件内容处理

    用JS对XMl文件处理实现和用JS处理一般的Dom元素一样; 加载一个Xml内容与新建一个Dom元素基本相同 如: 1.新建一个Dom元素的Jquey语法为:$("<p>hell ...

  8. Android屏幕适配-资源文件夹命名与匹配规则

    说明:本文档目的为分析android工程res目录下的资源文件夹(drawable,values,layout等)在屏幕适配方面的限定与适配方法. 1. Res下文件夹命名方式 1. 可用的命名属性 ...

  9. Scala语言初识

    scala是一种集面向对象特性和函数式特性于一身并可运行在JVM上的强类型静态语言.因为可以运行在JVM上,并在设计时借鉴于大量的java语言特性,故可以和java互动并可以调用java相关类库,这让 ...

  10. WIN8+VS2013编写发布WCF之一(编写)

      引言:上学期因为写服务器用WCF,所以连查资料再瞎调试勉强成功了,但是这学期又到了用WCF的时候,而当时的资料零零散散,查找不易,并且此次是在WIN8与VS2013环境下编写的,所以将该入门过程记 ...