2013-11-25 5 views
0

У меня есть библиотека пользовательских элементов управления WPF, которая разделяется между несколькими приложениями. В библиотеке есть словарь ресурсов, который определяет все цвета, используемые пользовательскими элементами управления.Ресурсы библиотеки управления переопределением XAML

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

Я знаю, что я мог бы поддерживать отдельные стили для каждого приложения, но это будет означать, подвергая каждый цвет, который необходимо изменить как свойство, которое кажется бессмысленным и против модели WPF из только выставляя переднего плана, фона и т.д.

Возможно ли это?

ответ

0

В конечном итоге это удалось.

В моем проекте приложения я создал ресурсный словарь под названием «ColourOverrides.xaml». Затем я добавил файл «Colours.xaml» в библиотеке элементов управления в это как объединенный словарь и изменил все ссылки в моем проекте приложения, чтобы указать на новый словарь ColourOverrides. Наконец, я изменил все цветовые ресурсы в своих настраиваемых элемента управления на «DynamicResource».

Теперь я могу переопределить ключ ресурса в ColourOverrides, и он будет применяться во всем приложении. Я также могу поддерживать отдельный проект приложения с отдельным файлом ColourOverrides, но все же ссылаясь на одну и ту же библиотеку CustomControls.

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