Итак, у меня есть библиотека универсальных классов Windows, в которой есть словарь ресурсов, который я хочу объединить с основным словарем ресурсов универсального приложения Windows 10 в App.xaml.
Мой App.xaml просто сливается с моим основным словарем ресурсов из той же сборки.
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles/Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Затем из моего основного словаря ресурсов (Styles/Styles.xaml) я объединяю другие словари ресурсов из той же сборки. Здесь я хотел бы объединить словарь ресурсов из другой сборки:
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Fields.xaml"/>
<ResourceDictionary Source="DataTemplates.xaml"/>
<!--<ResourceDictionary Source="/{AssemblyName};component/Shared.xaml" />-->
<!--<ResourceDictionary Source="pack://application:,,,/{AssemblyName};component/Shared.xaml" />-->
<ResourceDictionary Source="ms-appx:///{AssemblyName}/Shared.xaml" />
</ResourceDictionary.MergedDictionaries>
Я попытался добавить это в свой основной словарь ресурсов:
<ResourceDictionary Source="/{AssemblyName};component/Shared.xaml" />
и это...
<ResourceDictionary Source="ms-appx:///{AssemblyName}/Shared.xaml" />
Судя по этой статье о приложениях Магазина Windows 8.x, похоже, что должно работать. Но это все еще не работает.
и это...
<ResourceDictionary Source="pack://application:,,,/{AssemblyName};component/Shared.xaml" />
(это способ WPF, я знаю, но я все равно решил попробовать!)
Но вроде никто не работает...
Действие сборки словарей ресурсов, которые у меня есть в моей сборке приложения, установлено на «Страница». Эти словари ресурсов работают, просто используя это в слиянии:
<ResourceDictionary Source="Styles/Styles.xaml"/>
Я получаю следующую загадочную ошибку:
Не удалось присвоить свойству «Windows.UI.Xaml.ResourceDictionary.Source», поскольку тип «Windows.Foundation.String» не может быть назначен типу «Windows.Foundation.Uri». [Строка: 12 Позиция: 37]
<ResourceDictionary Source="ms-appx:///MyLibrary/Resources.xaml"/>
и вроде работает без проблем. - person Romasz   schedule 14.11.2015