X是映射XML名称空间时给他取的名字.X名称空间里面的成员是专门给XAML编译器看的.用来引导XAML编译器把XAML代码编译成CLR代码的,他是取的XAML的首字母X.

XAML有自己的编译器,会吧XAML语言解析并编译,最终形成中间语言存储在程序集中.

X命名空间里面包括三种,1,Attribute(属性,语言成面的),2,标记扩展,3,指令元素.至于没种类型下面有哪些名称,大家可以参考<<WPF深入浅出>>.

X:Class他的Attribute的作用是告诉编译器将XAML标签的编译结果与后台代码中指定的类合并.使用的时候需要注意1.只能用于根节点,2.根节点的类型要与x:Class的值所指示的类型保持一致3.声明时候必须使用partial关键字.

X:ClassModifier他的Attribute是告诉编译器由标签编译生成的类具有怎样的访问控制级别.需要注意的就是你在这个标签里面使用了什么访问级别,在cs的文件里面就得使用什么级别的,他两最终要合并,必须访问级别一样.

X:Name,当一个标签带有X:Name的时候除了为这边标签生成对应的实例外还要为这个实例声明一个引用变量.变量名就是X:Name的值.需要用这个控件的时候你直接用它的引用名字就可以引用这个控件了.做一个不恰当的比喻你就是可以把他想象成这个控件的id.

X:FieldModifier用来在XAML中改变引用变量的访问级别.比如你在一个程序集中访问另一个程序集中的窗口,因为默认是internal的,你要想访问只能用X:FieldModifier来改变他的访问级别.

X:Key就是为资源加上用于检索的索引.

X:Shard是用于确定我们每次从资源字典里面检索出的资源是个对象还是这个对象的副本.默认设置是true,也就是对象本身,如果想要他的副本那就设置成false,要与x:key结合用.

X:Type用于在XAML中想表达某个数据类型的时候就需要使用X:Type进行扩展.就比如说某个类的一个属性的值得是一个数据类型,在XAML中为这个属性赋值的时候就需要用X:Type.这个在写样式的时候很常见,比如你要定义所有的button的样式<style x:key=”{x:type Button}”/>

X:Null在XAML赋一个空值.

X:Array的作用是通过他的Items属性暴露一个类型已知的ArrayList实例.成员类型由他的Type指明.

X:Static的作用是使我们能够访问CS里面的static成员.

X:Code作用是把一些CS代码放到XAML里面,就可以用它,把代码放到X:Code标记里面,但很少这么做.

X:XData如果想在XAML里面声明一个带有数据的XmlDataProvider实例,数据就可以放到X:Data里面.

WPF x名称空间的更多相关文章

  1. WPF读书笔记 x名称空间详解(第二天)

    每天看一点,每天进步一点. x名称空间映射的是http://schemas.microsoft.com/winfx/2006/xaml,它包含的类均与解析XAML语言关,亦可称为"XAML名 ...

  2. 在编写wpf界面时候中出现如下错误: 类型引用不明确。至少有两个名称空间(“System.Windows”和“System.Windows”)中已出现名为“VisualStateManager”的类型。请考虑调整程序集 XmlnsDefinition 特性。

    wpf中类型引用不明确.至少有两个名称空间(“System.Windows”和“System.Windows”)中已出现名为“VisualState 你是不是用了WPFToolKit?如果是的,那原因 ...

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

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

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

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

  5. wpf多程序集之间共享资源字典--CLR名称空间未定义云云

    wpf多程序集之间共享资源字典--CLR名称空间未定义云云 分类: WPF 2012-10-28 10:57 1162人阅读 评论(0) 收藏 举报 以下介绍如何创建可用于在多个程序集之间共享的资源字 ...

  6. WPF之X名称空间学习

    WPF的X名称空间都有什么呢?首先,盗用张图来说明: 我将就图表中的内容进行总结: 1.x:Array具有一个Iteams属性,它能暴漏一个ArratList实例,ArratList实例的内部成员类型 ...

  7. x名称空间

    XAML代码的WPF程序都需要通过语句:xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml",x就是用来映射xmlns:x= ...

  8. 9、XAML名称空间详解

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

  9. C#操作带名称空间的xml

    以前操作xml一般用下面这种方式: 好处是XDocument 能使用linq xmlPath = “path”; XDocument myXDoc = XDocument.Load(xmlPath); ...

随机推荐

  1. 程序设置横屏后,锁屏时会被销毁一遍,解锁时又重新加载onCreat的问题解决

    今天在写一个应用的时候,因为需要设置成横屏模式,所以在Manifest里面的Activity里面加了两个参数设置: android:screenOrientation="landscape& ...

  2. 2014 网选 5024 Wang Xifeng's Little Plot

    题意:从任意一个任意一个可走的点开始找一个最长的路,这条路如果有转弯的话, 那么必须是 90度,或者没有转弯! 思路: 首先用dfs将所有可走点开始的 8 个方向上的线段的最长长度求出来 ! step ...

  3. iOS-微信支付(订单号重复的问题)

    1. 官方文档中说过同一笔交易不能多次提交,出现这个错误让核实商户订单号是否重复提交,但是有些情况下是需要重复提交的,比如:用户微信支付的时候没有付款,直接取消了,那么订单如果已经创建了,在订单中心就 ...

  4. SeaJS 模块化加载框架使用

    SeaJS 是一个遵循 CMD 规范的模块化加载框架 CommonJS,CMD,AMD等规范后文会提到,这里主要先了解如何在代码中使用. 如果你有使用过nodejs ,那么理解起来就容易多了. 我们通 ...

  5. JS 将一段文本 每个英文首字母大写

    function replaceStr(str){ // 正则法 str = str.toLowerCase(); var reg = /\b(\w)|\s(\w)/g; // \b判断边界\s判断空 ...

  6. 可编译为 UNICODE 和 ANSI 版本的遍历目录树程序_0.1

    路径暂时是写死的 编译两个版本的程序: g++  treeT.cpp -municode -D_UNICODE -o treeT_UNIg++  treeT.cpp -o treeT_ASC 为了观察 ...

  7. 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作

    随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...

  8. 如何用c语言调用c++做成的动态链接库

    今天在做东西的时候遇到一个问题,就是如何在C语言中调用C++做的动态链接库so文件如果你有一个c++做的动态链接库.so文件,而你只有一些相关类的声明, 那么你如何用c调用呢,别着急,本文通过一个小小 ...

  9. js定时器调用参数的方法

    var userName="Tony"; //根据用户名显示欢迎信息 function ss(_name){ alert("ss,"+_name); } 使用字 ...

  10. 利用php实现:当获取的网址不是特定网址时候跳转到指定地址

    这个问题是在百度知道看到的问答,我不懂做,特定去百度了下.然后结合别人获取域名和跳转的知识,综合做了这个功能,以下是实现代码: <?php //获取当前的域名: echo "获取到的域 ...