Я создал сборку библиотеки классов, в которой создал пользовательские элементы управления, и определил стили по умолчанию в файле generic.xaml.
Кажется, это довольно распространенная проблема, пока многие люди пишут об этом. Однако я не смог найти никакого полезного ответа для моего случая.
В моем тестовом приложении, если я вручную объединяю файл generic.xaml из моей сборки пользовательских элементов управления в файл приложения App.xaml, как показано ниже:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/MyControlsAssembly;component/Themes/generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
тогда пользовательские элементы управления имеют правильную тему, но если я вручную не объединим generic.xaml, элементы управления появятся с темой Windows по умолчанию.
Не могли бы вы сказать мне, что я забыл и / или делаю неправильно?
Дополнительная информация:
Мой атрибут сборки ThemeInfo определяется следующим образом:
[assembly: ThemeInfo(ResourceDictionaryLocation.SourceAssembly, ResourceDictionaryLocation.SourceAssembly)]
(Обратите внимание, :результат будет одинаковым для любой комбинации параметров атрибута ThemeInfo )
. Рядом с файлом generic.xaml в папке Themes есть два других файла.xaml.