Стили из generic.xaml не применяются

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

Кажется, это довольно распространенная проблема, пока многие люди пишут об этом. Однако я не смог найти никакого полезного ответа для моего случая.

  • generic.xaml находится в папке Themes.
  • для действия сборки файла generix.xaml установлено значение Page.
  • ThemeInfo правильно определен в моем AssemblyInfo.cs.

В моем тестовом приложении, если я вручную объединяю файл 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.

  • В папке Themes есть подпапка, которая сама содержит другой файл.xaml.
18
задан Sebastien ROBERT 22 June 2012 в 01:34
поделиться