我正在开发一个自定义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前缀
是可能的,如何在没有分区装配的情况下实现这一点?
答案 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")]