是否可以在同一个程序集中包含多个XmlnsPrefix?

时间:2012-10-18 12:28:49

标签: wpf xaml markup

我正在开发一个自定义WPF控件库,其中包含在适当的命名空间中分布的控件转换器,触发器和行为。我知道如何定义XmlnsDefinition和XmlnsPrefix程序集信息并广泛使用它。 Hwta我想做的是为同一个assembli中的每个命名空间设置XmlnsPrefix所以ForExample如果有这样的声明

[assembly: XmlnsPrefix("http://schemas.taicodev.com/winfx/2010/xaml/presentation", "TaicoControl")]
[assembly: XmlnsDefinition("http://schemas.taicodev.com/winfx/2010/xaml/presentation", "CuratioCMS.Client.UI.Converters")]
[assembly: XmlnsDefinition("http://schemas.taicodev.com/winfx/2010/xaml/presentation", "CuratioCMS.Client.UI.Controls")]

我想离开TaicoControl,但转换器会自动使用TaicoConverter前缀

是可能的,如何在没有分区装配的情况下实现这一点?

1 个答案:

答案 0 :(得分:2)

如果您希望2个不同的CLR名称空间使用2个不同的xmlns前缀,则需要为每个CLR名称空间定义xmlnsdefinition,以便它使用不同的URI,然后为每个唯一URI定义xmlnsprefix。

[assembly: XmlnsPrefix("http://schemas.taicodev.com/winfx/2010/xaml/presentation", "TaicoControl")]
[assembly: XmlnsPrefix("http://schemas.taicodev.com/winfx/2010/xaml/presentation/converters", "TaicoConverters")]
[assembly: XmlnsDefinition("http://schemas.taicodev.com/winfx/2010/xaml/presentation/converters", "CuratioCMS.Client.UI.Converters")]
[assembly: XmlnsDefinition("http://schemas.taicodev.com/winfx/2010/xaml/presentation", "CuratioCMS.Client.UI.Controls")]