前一篇文章 “WPF,Silverlight 中的 xmlns,xmlns:x” 中提到了: 目前对于大多数的 WPF 应用程序以及 SDK 的 WPF 部分中给出的几乎所有示例版本的WPF,Silverlight 2.0 (含)以后的开发工具, 默认的 xmlns 命名空间均映射到 WPF 命名空间 http://schemas.microsoft.com/winfx/2006/xaml/presentation。
对于Silverlight来说,从 Silverlight 2 (含)以及更高版本的 Silverlight 开始,大多数工具都默认使用 http://schemas.microsoft.com/winfx/2006/xaml/presentation 命名空间来生成 Silverlight 的 XAML 文件。不过,Silverlight 仍然支持 http://schemas.microsoft.com/client/2007 XAML 命名空间(这是用于 Silverlight 1.0 的 XAML 命名空间)。
比起WPF,Silverlight 对设置 xmlns 值加了以下限制:
- 根元素必须始终包含默认 xmlns 声明;没有默认值和隐含值之说。
- Silverlight 的任何 xmlns 声明(无论是否在根元素中)都必须为 http://schemas.microsoft.com/winfx/2006/xaml/presentation 、 http://schemas.microsoft.com/client/2007 或(很少使用的)XPS 命名空间 (http://schemas.microsoft.com/xps/2005/06 )。
例外情况:Silverlight 应用程序清单(指编译后生成的打包XAP文件中的 AppManifest.xaml 文件)尽管在技术上是 XAML,但它的根通常是 Deployment 对象,因此通常必须使用默认的 XAML 命名空间 xmlns="http://schemas.microsoft.com/client/2007/deployment" 以便进行解析。
比起WPF,Silverlight 对映射 xmlns 值的程序集和命名空间加了以下限制:
- 该程序集必须是 mscorlib(以支持 sys: 情况)或 XAP 文件中某个程序集的名称。(该程序集不能是未使用 XAP 包部署的程序集。)
- 映射中的该程序集名称末尾不能包含".dll"。
参考资料:
Silverlight 和 WPF 之间的 XAML 处理差异
http://msdn.microsoft.com/zh-cn/library/cc917841(VS.95).aspx (中文)
http://msdn.microsoft.com/en-us/library/cc917841(VS.95).aspx (英文)
打印 | 张贴于 2009-11-23 16:32:40 | Tag:.net 编程心得 技术随笔 网站开发管理相关内容 .net 3.5 .net 3.0 WPF 相关 .Net 4.0
留言反馈