XAML概要--XAML的根元素和命名空间_FireOfStar的博客-程序员秘密

技术标签: 语言  application  xml  学习笔记  wpf  

   一个XAML文件必须只有一个根元素,这样才是格式正确的XML文件并且是有效的XAML文件。通常我们选择应用程序模块部分来做为根元素,如选择Window或Page作为页面的根元素、选择ResourceDictionary做为外部资源的根元素、选择Application做为应用程序的根元素等。下面的例子是一个典型的WPF页面的根元素的命名,它使用Page做为根元素。

<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
...
</Page>

上例中的根元素中包含两个属性:xmlns和xmlns:x。这两个属性给XAML处理器指明了标签中引用的元素是在哪个XML命名空间中定义的。特别是xmlns属性,它指明了默认的XML命名空间,在默认的XML命名空间中,对象元素可以不使用前缀来指定,对于大多数的WPF应用案例,以及在SDK的WPF段所给出的所有的例子中,默认的XML命名空间都被映射到WPF的命名空间:http://schemas.microsoft.com/winfx/2006/xaml/presentation。xmlns:x指明了另外的一个XML的命名空间,它对应的是XAML语言命名空间:http://schemas.microsoft.com/winfx/2006/xaml,在引用这个命名空间的文件中定义的标记时,安装XAML规范定义的语言组件必须使用x:做为前缀,xmlns的这种定义使用和映射范围的做法是符合XML1.0规范的。需要注意的是:xmlns属性只需要在每个页面的根元素中以及定义了这个属性的标记中使用,这同样也是符合XML1.0规范的。xmlns也允许在根元素以下的元素中定义,并且应用到这个元素以下的所有子元素,但是这种用法不常用,因为这样频繁的定义会导致XAML的样式很难阅读。
因为配置会做为编译文件的一部分,所以WPF程序集会知道支持WPF对应的默认的XML命名空间中所包含的类型。程序集也要被映射到目标文件中,因此为了引用来自WPF程序集中的XAML元素,映射xmlns是必须的。对于自定义程序集或者WPF以外的程序集,也能把这样的程序集做为xmlns映射的一部分,通常的做法是选择一个不同的前缀,但是也可以使用不用XML命名空间做为默认的命名空间,然后给WPF的命名空间指定一个前缀。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/FireOfStar/article/details/3921811

智能推荐

ImportError: libpng12.so.0: cannot open shared object file: No such file or directory__Karry的博客-程序员秘密

在conda环境中调用opencv报错:ImportError: libpng12.so.0: cannot open shared object file: No such file or directory原因:动态链接库丢失或路径找不到解决:执行下列命令即可wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb

boost:system_OceanStar的学习笔记的博客-程序员秘密_boost system

跨平台、可移植一直是很多C++程序员追求的目标。但由于C++是一种中级语言,很多时候都要和操作系统打交道,因而功能代码常常和平台结合很紧密,难以做到真正的跨平台,再向其他平台移植代码的时候修改操作系统相关的代码通常是必不可少的工作boost库提供了数个操作系统相关的库,部分的屏蔽了操作系统的底层细节,能够提高程序的可移植性。比如说system库,它封装了操作系统底层的错误代码,为上层提供了一个可移植的统一的处理接口概述使用...

[渝粤教育] 西南科技大学 高速铁路线路与车站 在线考试复习资料_yuyueshool的博客-程序员秘密

高速铁路线路与车站——在线考试复习资料一、单选题1.( )不属于改善滑带土性质的措施。A.锚索工程B.焙烧法C.灌浆法D.孔底爆破灌注混凝土法2.《铁路特殊土路基设计原则》规定:天然地基的横向位移量不得大于( ),竖向位移不得大于( )。A.20mm/d,20mm/dB.15mm/d,20mm/dC.20mm/d,15mm/dD.20mm/d,40mm/d3.( )是以生石灰粉或水泥等粉体材料作为加固料,通过特制的施工机械,用压缩空气将粉体呈雾状喷人土中,使粉体与原软土搅拌形成石灰(

树路径中的分治算法 poj 1741_u010152669的博客-程序员秘密

分治算法也可以在树上应用,详细可以看看《IOI2009 中国国家集训队论文 分治算法在树的路径问题中的应用 (漆子超) 》这篇论文。         这里主要对树的分治进行简单的总结。          树的分治快在哪?重点就在树的中心上,树的重心是指在某棵树中,把某个点去掉后,结点最多的子树的结点数最少。         这样,每次取重心来进行讨论,省下的递归处理,并且深度不超l

微信小程序组件——滑动视图swiper_小绵杨Yancy的博客-程序员秘密_小程序滑动组件

swiper多用于页面顶部轮播显示图片。常用属性:indicator-dots=“true”: 显示面板指示点indicator-active-color=“red” : 当前选中指示点为红色。autoplay=“true”:自动轮播。interval=“1000”: 自动轮播时间间隔为1s,默认5s。HTML代码:&lt;view&gt; &lt;text&gt;Swiper演示:&lt;/text&gt; &lt;swiper indicator-dots="true" indic

Java中的主类概念以及public static void main方法的分析_原来的1024的博客-程序员秘密_java主类

1. 首先一定要有main()函数,不然你说从哪个函数开始执行呢2. 包含main函数的类名不需要和文件名一致,因为字节码文件名只和类名有关,执行java程序时,也只是“java 类名”而不是“java 文件名”,如下。文件名为test.java,定义了两个类,类名分别为ddeo和deko,编译通过,此时由于源文件中有两个类,所以会产生两个字节码文件(ddeo.class和deko.class),此时分别运行字节码可以正常运行,即没有主次之分。3. public类的类名必须和文件名一致。.

随便推点

常用算法(2)_ylf13的博客-程序员秘密

(1)选择第k个大的数该问题就是找出排序中排名第k的数,其实是一种

前端面试题,整理,自用_IMChenng的博客-程序员秘密

1:你是怎么理解 HTML 标签语义化HTML 语义化简单来说就是用正确的标签来做正确的事。比如表示段落用 p 标签、表示标题用 h1-h6 标签、表示文章就用 article 等。2:行内元素、块级元素、 空元素有那些?1) CSS规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,比如 div 默认 display属性值为“block”,成为“块级元素”;span默认display属性值为“inline”,是“行内”元素。2) 行内元素有:a ,b

gcc的辅助工具集(Binutils)_安河桥的博客-程序员秘密

【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) gcc的辅助工具集(Binutils)官网: http://www.gnu.org/software/binutils/1. ld - the GNU linker.2. as - the GNU assembler.3. addr2line - Converts addresses into filenames an...

把arm开发板做成USB网卡(RNDIS /Ethernet Gadget)_kangear的博客-程序员秘密_gadget rndis

/*******************************************************原文地址:http://hi.baidu.com/deep_pro/item/ec40c00ad48b8ef7a010340f说明:下边有补充!*********************************************************/

win10+opencv3.2+vs2015配置_科学财子的博客-程序员秘密

先前查了一些关于win10+opencv3.0(2.xx)+vs配置的文章,准备以此为样本来配置一下新的vs2015+opencv3.2+win10,但结果都失败了,最终自己的一些摸索,终于得到了正确的配置方法(此次最新版本的配置方法简单了许多)。第一步还是系统环境变量配置。系统环境中,在点击编辑,然后新建一个系统变量。而这个环境变量的值就是你的opencv解压放置的文件中的cv14.bin的

[TF进阶] MNIST手写体识别完整代码&单个神经网络_gdtop818的博客-程序员秘密_mnist tf

实例21:识别图中模糊的手写数字1. 下载数据集from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIST_data/", one_hot=True)print('输入数据:',mnist.train.images)print('输入数据打印...

推荐文章

热门文章

相关标签