По сути, я помню, что было время, когда вы могли использовать следующее: <?Mapping ... >
(Кажется, это больше не работает — возможно, устарело?)
Я знаю, что могу сопоставить свои пространства имен XML так...
xmlns:xyzcon="clr-namespace:XYZ.Wpf.Controls"
xmlns:xyzcom="clr-namespace:XYZ.Wpf.Commands"
Но я также знаю, что могу отображать свои пространства имен XML так (намного чище)
[assembly: XmlnsPrefix("http://schemas.mycompany.com/netfx/xaml/presentation", "xyz")]
[assembly: XmlnsDefinition("http://schemas.mycompany.com/netfx/xaml/presentation", "XYZ.Wpf.Controls")]
[assembly: XmlnsDefinition("http://schemas.mycompany.com/netfx/xaml/presentation", "XYZ.Wpf.Commands")]
что делает его очень простым в использовании, потому что вместо префикса l, lv и т. д. я могу сделать так, чтобы все мои CLR-пространства имен указывали на одно и то же пространство имен XML...
xmlns:xyz="http://schemas.mycompany.com/netfx/xaml/presentation"
Эта строка дает мне доступ к XYZ.Wpf.Controls и XYZ.Wpf.Commands. Проблема в том, что это работает, только если сборка уже скомпилирована. Я не могу использовать этот трюк при работе в одной сборке.
По сути, из одного и того же приложения или сборки я хочу сопоставить разные пространства имен CLR с одним и тем же пространством имен XML в глобальном масштабе (таким образом, во всем моем приложении мне просто нужно включить это одно пространство имен XML). Любой способ сделать это?