У нас есть библиотека WPF, которая содержит стили, используемые во многих наших продуктах. Он организован следующим образом. Каждый отступом уровень сливается в библиотеку вышеОрганизация ResourceDictionary в библиотеке стилей WPF
WpfResources.xaml
Color.xaml
ButtonStyle.xaml
Color.xaml
OtherStyle.xaml
Color.xaml
SliderStyle.xaml
Color.xaml
Проблема такого подхода заключается в том, что, как вы можете видеть, Color.xaml добавляется к каждому стилю управления, я добавить. Это может быть, и я не уверен, что вы получите удар производительности. Все цвета кистей, полей и т. Д. В Color.xaml заморожены.
Если я удалю Color.xaml из контрольного ресурса ResourceDictionaries, дизайнер визуальной студии начнет жаловаться на отсутствие StaticResources для цветов и других вещей, объявленных в Color.xaml. Я мог бы заменить их DynamicResources, но это не разумная производительность.
Любые идеи по лучшей организации стилей?
Итак, вы добавляете App.xaml в свою библиотеку, чтобы позволить дизайнеру VS разрешить ваши StaticResources? – Wouter
@Wouter Да. Когда мы хотим изменить тему. Мы вызываем метод для перезагрузки этих файлов с помощью другого 'Color.xaml'. – Tico
Проблема заключается в том, что разработчик VS2013 (и 2012) не решает ResouceDictionary из библиотеки, когда у него есть код позади. – Wouter