在WPF项目中.xaml文件中引用命名空间有如下方式
1 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
2 xmlns:local="clr-namespace:xxxxxx"
若我们对上例中自定义程序集的命名空间与XML命名空间做映射,后也可以像.net程序集的应用一样
空间映射是在程序集文件中使用XmlnsDefinitionAttribute 特性来声明。XmlnsDefinitionAttribute 有两个参数,第一个指定XML命名空间,第二个指定CLR命名空间。
上例中自定义程序集做如下映射
AssemblyInfo.cs
using System.Windows; using System.Windows.Markup; [assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)] [assembly: XmlnsDefinition("http://assembly.test.com", "Project.Assembly")]
做命名空间映射后上例中对命名空间的引用可以改成如下形式
1 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 2 3 // 引用自定义命名程序集命名空间 4 xmlns:assembly="http://assembly.test.com"