Относительный путь в MergedDictionary (Silverlight на Windows Phone): .. не работает - PullRequest
2 голосов
/ 26 декабря 2011

У меня есть проект со структурой папок

Root
+ App.xaml
+ MainPage.xaml
+ UI
  + Controls
    + Control1.xaml
    + Control2.xaml
  + Styles
    + Colors.xaml
  + Page1.xaml
  + Page2.xaml

Я пытаюсь сослаться на Colors.xaml из Control1.xaml со следующей разметкой:

 <UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="../Styles/Colors.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    [...]
    </ResourceDictionary>
</UserControl.Resources>

Я получаю ошибку

Произошла ошибка при поиске словаря ресурсов "../Styles/Colors.xaml".

Если я попытаюсь <ResourceDictionary Source="/UI/Styles/Colors.xaml"/>, я получу

Проект не поддерживает пути относительно корневого каталога приложения. Удалите ведущий квалификатор '/' из пути '/UI/Styles/Colors.xaml', чтобы исправить проблему.

Из того, что говорят люди в Интернете, мой первый подход должен сработать. Я предполагаю, что это специфическая проблема Windows Phone, но как мне обойти это?

РЕДАКТИРОВАТЬ: я нашел один обходной путь Source="/MyApp.Phone;component/UI/Styles/Colors.xaml", MyApp.Phone имя проекта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...