1.核心命名空间

1.xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"是silverlight的核心命名空间,包含所有了的silverlight的核心类。比如usercontrol和grid等.通常此命名空间声明时没有加前缀,因此它成为了整个文档的的默认命名空间。换句话说就是

页面所有的元素都默认的属于此命名空间,除非声明了其它的。

2.xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 表示XAML的命名空间。此命名空间的前缀为x。你可以通过把命名空间放在一个XML元素名称或属性前使用它(例如:x:Class="CheckNamespace.MainPage"

核心命名空间主要是让XAML解析器找到正确的类。比如,当遇到Grid和UserControl时,解析器发现它在http://schemas.microsoft.com/winfx/2006/xaml/presentation命名空间下。然后继续寻找相对应的SilverLight对应的类,直到找到匹配的类system.Windows.Usercontrol和System.Windows.Controls.Grid为止。

2.设计命名空间

和核心命名空间相对应的还有两个不是太重要的命名空间:

1.xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 表示XAML的兼容性命名空间,告诉XAML解析器哪些信息可以忽略或者哪些信息需要处理

2.xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 为特定的XAML设定的命名空间,通常在Blend中支持。主要是用来设置页面设计时的大小

比如 mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400",mc属于http://schemas.openxmlformats.org/markup-compatibility/2006,它告诉XAML解析器忽略页面内以d开头的信息是安全。

DesignHeight和DesignWidth属性是http://schemas.microsft.com/expression/blend/2008的一部分。它告诉VS或Blend在设计时显示页面大小为300*400

3.自定义命名空间

多数情况下需要在XAML中访问自己的命名空间,最常见的就是引用第三方组件或使用自己创建的silverlight自定义控件。如果是这样,需要定义一个新的XML名空间前缀并指向你的程序集。比如

<UserControl x:Class="CheckNamespace.MainPage"
   xmlns:a="clr-namespace:AAA;assembly=AAALibrary"

XML命名空间包含三个部分

1.xml命名空间前缀:在XAML页面中使用xml命名空间前缀指向命名空间。比如此例子中的a,也可以使用其它自己想要的的前缀,但不允许和已有的重复,否则会发生冲突。

2.NET命名空间:在此例子中,类在AA命名空间下。如果在多个页面中使用相同的类,可以指向不同的XML命名空间或者相同的(只要和其它的不冲突)。

3.程序集:本例子中,使用到的类是AALibrary程序集一部分。silverlight会在放置你项目程序集相同的XAP包中寻找此程序集。

注意:silverlight使用了一个精简版的CLR。因此silverlight程序不能使用完整版的.NET类库。如果需要使用程序集,可以在VS中选择silverlight类库项目模板来创建一个silverlight类库。

如果使用的自定义控件位于当前应用程序内,就可以省略命名空间的程序集部分,比如

xmlns:b="clr-namespace:AAA"

在引用命名空间后,就可以在XAML文档任何地方使用,比如AAA命名空间下有一个叫MyButton的自定义控件,可以这样使用

<b:MyButton x:Name="btnTest" Click="btnTest_Click"/>

SilverLight命名空间详解-新手入门的更多相关文章

  1. ggplot2作图详解:入门函数qplot

    ggplot2作图详解:入门函数qplot   ggplot2的功能不用我们做广告,因为它的作者Hadley Wickham就说ggplot2是一个强大的作图工具,它可以让你不受现有图形类型的限制,创 ...

  2. linux命名空间详解_转

    转自: Linux的命名空间详解--Linux进程的管理与调度(二) Linux Namespaces机制提供一种资源隔离方案. PID,IPC,Network等系统资源不再是全局性的,而是属于特定的 ...

  3. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

  4. 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习

    反射实现Model修改前后的内容对比   在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...

  5. AspNetCore.Identity详解1——入门使用

    今年在面试的时候被问到单点登录的知识,当时支支吾吾不知该如何作答,于是面试失败.回到住所便开始上网查找资料,但苦于难于找到详尽的demo,总是无法入门.又由于我正在学习了解asp.net core,里 ...

  6. [转]Web.config配置文件详解(新手必看)

    本文转自:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配 ...

  7. 转:Web.config配置文件详解(新手必看)

    转:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配置文件 ...

  8. Web.config配置文件详解(新手必看)

    花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...

  9. (转)Web.config配置文件详解(新手必看)

    花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...

随机推荐

  1. java.net.SocketException四大异常解决方案【转】

    java.net.SocketException如何才能更好的使用呢?这个就需要我们先要了解有关这个语言的相关问题.希望大家有所帮助.那么我们就来看看有关java.net.SocketExceptio ...

  2. 文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别

    这两天在调优数据库性能的过程中需要降低操作系统文件Cache对数据库性能的影响,故调研了一些降低文件系统缓存大小的方法,其中一种是通过修改/proc/sys/vm/dirty_background_r ...

  3. 实现O(1)获取最大最小值的栈----java

    原文:http://blog.csdn.net/sheepmu/article/details/38459165 实现O(1)获取最大最小值的栈和队列----java 一.如何实现包含获取最小值函数的 ...

  4. History(历史)命令用法15例

    导读 如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率,本文将通过实例的方式向你介绍 history 命令的 15 个用法. 使用 HISTTIMEFOR ...

  5. PHP.12-PHP-设计文件上传类

    设计文件上传类 [PHP参数详解]{文件上传} ********************** *#构造方法编写 ********************** 此种传参方法规定必须用户必须按响应位置输入 ...

  6. The Last Practice

    Problem Description Tomorrow is contest day, Are you all ready?We have been training for 45 days, an ...

  7. Apple 预计于内华达州雷诺市再盖一个数据中心

    Apple 为了满足各位对 Siri 姐(妹?那个谁去问问她年纪拜托)还有 iCloud 等云端服务的爱护,所以近期之内不断地在各地建置他们的数据中心来维持云端数据传输的稳定度.从美国的北卡. 俄勒冈 ...

  8. oc语言复制视频文件

    void copyFile() { NSString *home=NSHomeDirectory(); NSString *path=[NSString stringWithFormat:@" ...

  9. 深入理解HTML5:语义、标准与样式

    <深入理解HTML5:语义.标准与样式> 基本信息 作者: (美)布拉德福(Bradford,A.) 海涅(Haine,P.) 译者: 高京 出版社:电子工业出版社 ISBN:978712 ...

  10. jquery.hichartTable.js插件绘图

    使用场景:随日期不断增长变化的数据用折线图表现出来更加直观,比如注册人数的增长等. jquery.hichartTable.js文档:http://pmsipilot.github.io/jquery ...