2017-01-07 2 views
-2

Можно ли ссылаться в XAML на пользовательский элемент управления, как если бы это был обычный нормальный элемент управления без ссылки на local: SomeUserControlName?Wpf UserControl без xmlns: xxx reference

Пример: Вместо

<local:MyUserControl Prop1="" Prop2=""/> 

Я хочу сделать

<MyUserControl Prop1="" Prop2=""/> 

, как если бы это был просто еще один контроль, как TextBlock или другой ....

Я уже пробовал пользовательская сборка xmlDef, но не работает

[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation", 
    "AssemblyName")] 
+0

Отметим также, что очень плохая форма - выгрузить собственный код в пространство имен XML, которое уже существует для других областей компонентов, по той же причине, что было бы плохой формой для объявления всего вашего пользовательского кода, например. пространство имен 'System'. Пространства имен существуют по какой-то причине. Вы можете обнаружить, что если вы используете одну или две буквы для имен пространства имен XML, вам не будет так неудобно использовать и объявлять пространства имен для ваших типов. Например. используйте 'l:' вместо 'local:'. –

ответ

1

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

Перемещение пользовательских элементов управления в отдельный проект позволит вам использовать ссылки XmlnsDefinition, потому что они будут компилироваться отдельно.

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

  • Нет связанных вопросов^_^