08 April, 2011

Маленький трюк в XAML

Предположим, что вы, по идейным соображениям (имя сборки меняется от проекта к проекту), не хотите явно указывать имя некой assembly в своем XAML, но хотите использовать класс оттуда. Запись типа
xmlns:RRR="clr-namespace:NNN;assembly=AAA"
вам тут уже не годиться - имя сборки ведь нужно указать точно. Как быть спросите вы? А выход есть. В assembly AAA на которую вы хотите ссылаться нужно указать следующий атрибут
[assembly: XmlnsDefinition("http://UUU", "NNN")]
а в XAML использовать следуюший синтаксис
xmlns:RRR="http://UUU"
и проблема решена.