2015-10-09 10 views
4

Я переношу свои проекты Windows 8.1 в Windows 10 (Универсальная платформа Windows). В данный момент меня останавливают ResourceDictionary изменяется на UWP.Синтаксис Uri в ResourceDictionary Source (Универсальная платформа Windows)

Для простоты: У меня есть 8.1 решение для Windows с 2 проекта:

App project (FooApp)+ Styles (FooStyles) project. 

приложение Foo имеет отношение к FooStyles, и в App.xaml у меня есть:

<Application.Resources> 
<ResourceDictionary> 
    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="ms-appx:///FooStyles/Brushes.xaml"/> 
    </ResourceDictionary.MergedDictionaries> 

ms-appx синтаксис позволил мне получить доступ к ресурсу файлы из других проектов. Теперь в приложениях Windows 10 это больше не работает. Компиляция заканчивается ошибкой ниже:

"An error occurred while finding the resource dictionary "ms-appx:///FooStyles/Brushes.xaml"." 

Любые советы здесь, чтобы исправить это?

P.S Я бы не переместил свои ресурсы с FooStyles на FooApp, потому что в моем решении FooStyles разделяется между 5 другими проектами приложений.

+0

Это отлично работает с решением UWP с проектом проекта 1 проекта проекта + 1. Проверьте, поддерживает ли ваш проект стилей победу 10. И попробуйте удалить и повторно добавить ссылку на проект стилей в вашем проекте приложения. –

ответ

2

В UWP вы должны указать пространство имен для достижения этого. Кроме того, я нашел словари XAML Resource Dictionaries только для ссылок, если они отмечены как «Страница» в разделе «Свойство».

Затем в XAML Применение:

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="ms-appx:///Default.Namespace.External.Assembly/FolderPathOffRoot/Brushes.xaml"/> 
     </Application.Resources> 
    </ResourceDictionary> 
</ResourceDictionary.MergedDictionaries> 

И не путаются мс-appx, это относится к пакету, а не только проект, содержащий приложение.

Смежные вопросы