Можно ли объявить пространство имен, как:Можно ли объявить пространство имен в коде позади
<Window xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MyApp.MainWindow"/>
В коде позади, например, в конструкторе.
public MainWindow()
{
// ... here
}
Назначение: less многословие; объявлять пространства имен в одном месте и использовать наследование.
EDIT: Я пытался добавить
[assembly: XmlnsDefinition("http://mycompany/myapp", "clr-namespace:MyApp.Controls")]
[assembly: XmlnsPrefix("http://mycompany/myapp", "myc")]
AssemblyInfo.cs
к но сборка завершается с ошибкой «префикс пространства имен„Мус“не определен».
Поэтому я использую attirbutes в том же проекте, что и файл xaml.
'' Меньше многословие, но приходится идти в другой файл, чтобы узнать от того, что пространство имен объекта происходит от будет раздражать! ' ' –
Vache
@Vache: Я бы сказал, это зависит от использования. Если у вас есть сборка, полная общих компонентов Xaml в разных (сборных) пространствах имен, удобно ссылаться на эту целую сборку с одним (xml) пространством имен. Аналогично, вы можете ссылаться на несколько сборок через одно пространство имен xml, если ваш проект является сложным. –