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. swift:自定义UICollectionViewFlowLayout

    写作目的 UICollectionView是ios中一个十分强大的控件,利用它能够十分简单的实现一些很好看的效果.UICollectionView的效果又依赖于UICollectionViewLayo ...

  2. oc-25- @property @synthesize

    s.h #import <Foundation/Foundation.h> @interface Student : NSObject { @public NSString *_name; ...

  3. pg viedio

    http://blog.163.com/digoal@126/blog/static/16387704020141229159715/

  4. IOS中类和对象还有,nil/Nil/NULL的区别

    转自:http://blog.sina.com.cn/s/blog_5fb39f910101akm1.html 类与对象的概念 类是对同一类事物高度的抽象,类中定义了这一类对象所应具有的静态属性(属性 ...

  5. Docker 1.12.0将要发布的新功能

    Docker 1.12.0将要发布的新功能 导读 按计划,6/14 是1.12.0版本的 feature冻结 的日子,再有两个星期Docker 1.12.0也该发布了.这里列出来的新功能,都是已经合并 ...

  6. Apache的编译安装error: APR not found. Please read the documentation

    提示configure: error: APR not found. Please read the documentation. 经网上查阅资料才知道这是Apache的关联软件 在apr.apach ...

  7. Spring JdbcTemplate的queryForList(String sql , Class<T> elementType)易错使用--转载

    原文地址: http://blog.csdn.net/will_awoke/article/details/12617383 一直用ORM,今天用JdbcTemplate再次抑郁了一次. 首先看下这个 ...

  8. js的Touch事件

    js的touch事件,一般用于移动端的触屏滑动$(function(){document.addEventListener("touchmove", _touch, false); ...

  9. 【阿里云产品公测】消息队列服务MQS java SDK 机器人应用初体验

    [阿里云产品公测]消息队列服务MQS java SDK 机器人应用初体验 作者:阿里云用户啊里新人   初体验 之 测评环境 由于MQS支持外网访问,因此我在本地做了一些简单测试(可能有些业余),之后 ...

  10. ProcMon启用调试符

    1.设置 _NT_SYMBOL_PATH 如果在 _NT_SYMBOL_PATH 环境变量中提供了正确的?symsrv?语法,则常见的 Mircoroft 调试工具将使用 SymSrv 技术.这些工具 ...