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

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. [原创]javascript prototype 对象 函数 <精简的美丽......>

    精简的美丽...... javascript prototype 对象 函数 在javascript中我们都知道创建一个对象使用如下代码var x = {}对象可以拥有属性和方法var x = {   ...

  2. debian非正常关机进不了图形界面的解决方法

    昨天调试一个程序的时候,把界面设置成了POPUP方式,结果触发断点的时候,界面不能最小化,程序就死到那了,动不了,没办法只好按电源了,结果启动的时候提示 An automatic file syste ...

  3. SQL学习笔记

    SQL(Structured Query Language)学习笔记 [TOC] Terminal登录数据库 1.登录mysql -u root -p ; 2.显示所有数据库show database ...

  4. percona-toolkit工具检查MySQL复制一致性及修复

    利用percona-toolkit工具检查MySQL数据库主从复制数据的一致性,以及修复. 一.             pt-table-checksum检查主从库数据的一致性 pt-table-c ...

  5. 【原】Spring与MongoDB集成:配置

    MongoDB的API提供了DBObject接口来实现BSONObject的操作方法,BasicDBObject是具体实现.但是并没有提供DBObject与BeanObject的转换.在还没有了解到与 ...

  6. canvas实现“探照灯”共能

    简单的样式: body{ margin: 0; padding: 0;}#canvas{ display: block; position: relative; margin: auto;} 创建绘图 ...

  7. css3过度和动画

    一.过度(transition) transition:[transition-property] || [transition-duration] || [transition-timing-fun ...

  8. orcale授权

    grant connect,resource,dba to 表名;--用户授权 CONNECT角色: --是授予最终用户的典型权利,最基本的 CREATE SESSION --建立会话 RESOURC ...

  9. Lua - 基础语法

    Hello World 交互式编程 Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用: [huey@huey-K42JE lua]$ lua Lua 5.1.4 Copyright ...

  10. 【原创】java 流星划过天空

    import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import javax.s ...