这可能是XAML的本质所不可能的,但这是我的情况:
我正在尝试访问XAML中的命名空间NineGridViewer.ValidationRules
。我目前有名称空间定义xmlns:nineGridViewer="clr-namespace:NineGridViewer"
。是否有必要定义一个全新的命名空间来访问ValidationRules命名空间,还是可以使用我的nineGridViewer xmlns来访问子命名空间?
答案 0 :(得分:3)
如果您有权访问定义这些类的程序集,则可以create custom XML namespaces使用属性:
WPF定义了XAML处理器使用的CLR属性,以便将多个CLR命名空间映射到单个XAML命名空间。此属性XmlnsDefinitionAttribute放置在生成程序集的源代码中的程序集级别。 WPF程序集源代码使用此属性将各种常见名称空间(例如
System.Windows
和System.Windows.Controls
)映射到http://schemas.microsoft.com/winfx/2006/xaml/presentation名称空间。XmlnsDefinitionAttribute有两个参数:XML / XAML命名空间名称和CLR命名空间名称。可以存在多个XmlnsDefinitionAttribute以将多个CLR命名空间映射到同一XML命名空间。