Ресурсный словарь как связанный файл - PullRequest
0 голосов
/ 11 марта 2010

Ресурсный словарь

03-11-2010 10:56 | | 1003 *

У меня есть два разных проекта. Я связал каталог ресурсов с помощью добавления существующего элемента add as link.

Silverlight не видит словарь ресурсов, когда он является связанным файлом, и выдает ошибку выхода за пределы допустимого диапазона.

Обходите ли вы этот или другой лучший способ использовать один и тот же файл в двух проектах?

Ответы [ 2 ]

0 голосов
/ 30 ноября 2012

Если общий ресурс находится между проектом silverlight и проектом WPF, мне проще поместить файл в проект silverlight и связать его с проектом WPF, чем делать это наоборот.

Другими словами, файл перемещается в проект silverlight, а не в проект WPF, а затем «связывается» с проектом WPF.

Также помните, когда на файл ссылаются из WPF, так как он связан, вам нужно изменить ссылочный URL, как если бы он был в корне, например:

<ResourceDictionary 
    Source="pack://application:,,,/AssemblyName;component/DictionaryName.xaml" />

Удаление вышеуказанной папки работает, нижеприведенный URI НЕ работает:

<ResourceDictionary 
    Source="pack://application:,,,/AssemblyName;component/FOLDER/DictionaryName.xaml" />
0 голосов
/ 11 марта 2010

Я бы сослался на сборку, в которой обычно есть словарь ресурсов (не добавляйте его как ссылку), а затем перенесу его в приложение, используя Объединенные словари . Вы можете указать словарь ресурсов во внешней сборке для слияния с текущими приложениями или словарями ресурсов страницы.

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/SharedThemeAssembly;component/MyStyles.xaml"/>
            ...other ResourceDictionaries to merge in...
        </ResourceDictionary.MergedDictionaries>
     </ResourceDictionary>
</Application.Resources>

Я ответил на аналогичный вопрос здесь: Silverlight: несколько проектов, использующих одни и те же файлы стилей

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