Существует атрибут, который вы можете использовать в коде вашей ссылочной сборки, который отображает Uri в пространства имен вашего кода:
[XmlnsDefinitionAttribute("http://yournamespace/", "Your.Assembly.Namespace")]
Вы можете включить несколько из этих атрибутов, обычно вваш AssemblyInfo.cs
, позволяющий ссылаться на несколько пространств имен кода в одном пространстве имен Uri в Xaml.
Это делает ваши объявления пространств имен более компактными (так как вы можете опустить имя сборки).Это также дает вам некоторую гибкость при реорганизации пространств имен в ссылочной сборке, не нарушая разметку. Например,
EDIT: , если вы указываете Reflector на сборку PresentationCore
, вы можете видеть атрибутынапример, на уровне сборки:
[assembly:
XmlnsDefinition( "http://schemas.microsoft.com/netfx/2007/xaml/presentation"
, "System.Windows.Ink") ]
Вот как импорт Uri отображается на пространства имен кода.