WPF-基于另一个xmlns定义一个xmlns
有没有办法像这样声明命名空间:WPF-基于另一个xmlns定义一个xmlns,xml,wpf,namespaces,hierarchy,Xml,Wpf,Namespaces,Hierarchy,有没有办法像这样声明命名空间: xmlns:views="clr-namespace:xxx.xxx.Views" xmlns:someNestedViews="views.SomeNestedView" 目标是加速嵌套/重复的xmlns声明,并使它们更易于阅读/维护。否,您需要包括整个CLR命名空间:xmlns:someNestedViews=“xxx.xxx.Views.SomeNestedView”。clr名称空间:语法将XAML名称空间映射到clr名称空间。它不会映射到另一个XML名称
xmlns:views="clr-namespace:xxx.xxx.Views"
xmlns:someNestedViews="views.SomeNestedView"
目标是加速嵌套/重复的xmlns声明,并使它们更易于阅读/维护。否,您需要包括整个CLR命名空间:
xmlns:someNestedViews=“xxx.xxx.Views.SomeNestedView”
。clr名称空间:
语法将XAML名称空间映射到clr名称空间。它不会映射到另一个XML名称空间
如果您是视图
命名空间中类的作者,则可以使用指定XAML命名空间与多个不同CLR命名空间之间的映射,例如:
[assembly: XmlnsDefinition("http://yourlibrary.com/", "xxx.xxx.Views.")]
[assembly: XmlnsDefinition("http://yourlibrary.com/", "xxx.xxx.Views.SomeNestedView")]
这减轻了XAML的负担:
xmlns:viewsAndNestedViews="http://yourlibrary.com/"
我见过人们用XML实体来做这类事情
xmlns:x="&stem;/some.uri"
但是,尽管这是完全合法的,但如果我发现这种情况发生在我想处理的XML中,我会相当震惊。主要是因为它暗示名称空间可能会在某个时刻发生变化,而在名称空间可能发生变化时编写应用程序来处理XML只会让事情变得更加困难。有趣的问题,我现在想知道!混淆一些简单的东西可能会带来比修复它们更多的问题。好的,我看看这是否有帮助;)如果有人想查找有关clr的信息: