Я создаю словарь ресурсов, где я ссылаюсь на все мои конвертеры, поэтому нет необходимости ссылаться на каждый отдельный конвертер.
Мои конвертеры находятся в другой сборке, для их импорта я делаю следующее:
- Добавить ссылку на внешнюю сборку
- Создать словарь ресурсов
- Добавление XML-пространства имен, ссылающегося на сборку конвертеров
- Эталонные преобразователи
Итак, мой словарь выглядит так:
<ResourceDictionary xmlns:Converters="clr-namespace:Client.Utilities.Converters;assembly=Client.Utilities">
<Converters:BoolToBrushConverter x:Key="boolToBrush"/>
</ResourceDictionary>
Однако при попытке собрать я получаю следующее исключение:
Error 18 The tag 'BoolToBrushConverter' does not exist in XML namespace 'clr-namespace:Client.Utilities.Converters;assembly=.Client.Utilities'. Line 12 Position 6. C:\Resources.Tests\Resources\ResourceDictionaries\Converters\ConvertersResources.xaml 12 6 Client.eZenith.Resources.Tests
Есть идеи, почему это происходит?
Примечание: Из intellisense кажется, что пространство имен для сборки преобразователей правильное, так как все преобразователи отображаются в списке предложений после ввода <Converter:
Редактировать : VS и дизайнер смесей могут найти этот конвертер при рендеринге управляющего просмотра.
Редактировать: Я понял, что это не имеет никакого отношения к объединению словарей. Та же проблема возникает при добавлении конвертера в Ресурсы Windows .