2010-03-25 3 views
2
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 

Как этот URL сопоставляется с пространствами имен .NET? Можете ли вы привести пример, как сделать то же самое для пользовательских классов .NET/пространств имен? Является ли это атрибутом, который должен быть определен в самом пространстве имен?Как пространство имен xml по умолчанию работает в XAML?

Или это вещество или с использованием C# псевдонимами как в ?:

using alias = FullNamespace 

ответ

3

отображение осуществляется с помощью атрибута XmlnsDefinition. Например:

[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "System.Windows.Data")] 
[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "System.Windows")] 
[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "System.Windows.Controls.Primitives")] 
[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "System.Windows.Media.Animation")] 
[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "System.Windows.Input")] 

(код из PresentationFramework.dll извлеченный с отражателем)

+1

Спасибо, так что я могу использовать тот же URL, тоже, верно? –

+1

Да, но я бы не рекомендовал его, потому что это может вызвать конфликты между вашими классами и стандартными пространствами имен WPF. –

+0

Спасибо, звучит разумно. –