У нас есть библиотека управления, которую мы ссылаемся в нашем основном приложении. В нем мы решили разделить наш Generic.xaml на конкретные ресурсы, такие как Brushes.xaml, Colors.xaml и т. Д., Тогда мы просто объединили их в Generic.xaml. Мы создали их как братьев и сестер Generic.xaml в каталоге Темы и мы поняли, что вы должны ссылаться на них локально относительно, как и ...Почему эта запись MergedDictionary вызывает исключение?
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Brushes.xaml" />
</ResourceDictionary.MergedDictionaries>
А вот атрибуты в AssemblyInfo.cs библиотеки классов в
[assembly:ThemeInfo(
// Where theme specific resource dictionaries are located
// (used if a resource is not found in the page, or application resource dictionaries)
ResourceDictionaryLocation.None,
// Where the generic resource dictionary is located
// (used if a resource is not found in the page, app, or any theme specific resource dictionaries)
ResourceDictionaryLocation.SourceAssembly
)]
... но он бросает следующее исключение ...
{"Cannot locate resource 'brushes.xaml'."}
(Обратите внимание на исключение нижнего регистра тоже. Одд.)
Теперь я пробовал «Brushes.xaml», «Темы/Brushes.xaml» и «/Themes/Brushes.xaml», но безрезультатно. Какого черта я скучаю?
Примечание: он работает, если ресурсы находятся в той же сборке, что и приложение. Это, по-видимому, касается только выделения ресурсов в библиотеку классов.