书名:WPF专业编程指南
作者:李应保
出版社:电子工业出版社
出版时间:2010-01
ISBN:9787121100116
一、XAML命名空间
在C#或C++里,为了区分模块间的同名类,我们引入命名空间。
在XAML中也使用命名空间这个概念。
XML的命名空间,则用xmlns来表示XAML中的命名空间和.NET的命名空间密切相关,但XAML的命名空间和.NET的命名空间之间并不是一一对应的,而是一对多的关系,即一个XAML命名空间对应多个.NET的命名空间。
这样做的好处是,不必在XAML中书写过多的命名空间。
二、合并
- 我可以把Yingbao.Chapter2和Yingbao.Chapter3两个命名空间合并为一个XAML命名空间,方法是在项目的AssemblyInfo.cs文件中使用XmlnsDefinition属性:
[assembly: XmlnsDefinition("http://Yingbao.Com/WPFExample",
"Yingbao.Chapter3")]
[assembly: XmlnsDefinition("http://Yingbao.Com/WPFExample",
"Yingbao.Chapter4")]
- WPF使用这一技术,把所有WPF类命名空间映射到一个XAML命名空间:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
注意xmlns后面没有冒号,这表示WPF在XAML中默认命名空间。
- 另一个WPF中常用的命名空间是:
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
它包含了XAML的某些特定功能,比如控制XAML编译器等。