2013-09-27 7 views
2

Обратите внимание на пространство имен Telerik. Это не clr-namespace:Telerik;assembly=Telerik, как и следовало ожидать. Как они это делают?Как создать собственное (не CLR!) Пространство имен XML для XAML?

<UserControl x:Class="Sandbox.MyUserControl" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="300"> 
    <Grid> 
    </Grid> 
</UserControl> 
+1

[Это помогает?] (Http://www.codeproject.com/Articles/111911/A-Guide-to-Cleaner-XAML-with-Custom-Namespaces-and) –

+0

Опубликуйте его как ответ. –

ответ

3

Вы можете отобразить один или более CLR пространств имен с URI, используя атрибут XmlnsDefinition; например:

[assembly: XmlnsDefinition("http://www.yourdomain.com/schema", "MyProject.Foo")] 
[assembly: XmlnsDefinition("http://www.yourdomain.com/schema", "MyProject.Bar")] 
[assembly: XmlnsDefinition("http://www.yourdomain.com/schema", "MyProject.Baz")] 

Вы также можете использовать атрибут XmlnsPrefix связать префикс по умолчанию для пространства имен:

[assembly: XmlnsPrefix("http://www.yourdomain.com/schema/", "foo")] 

Обратите внимание, что этот атрибут используется только в качестве предложения для инструментов редактирования.

+0

В чем преимущество использования схемы на основе URI? извините, если у меня оригинальная тема. – Lance

+0

@ LawrenceA.Contreras, он позволяет объявить единое пространство имен XML для нескольких пространств имен CLR. Если вы знаете, что данный компонент находится в библиотеке, вам не нужно помнить, в каком пространстве имен CLR оно объявлено. –

+0

Я понял. Спасибо Томасу. – Lance

Смежные вопросы