StaticResource, где ресурс находится во внешней сборке? - PullRequest
3 голосов
/ 07 октября 2011

По сути, я хочу сохранить все свои ресурсы XAML во внешней сборке (для моих стилей). У меня есть ссылка на эту внешнюю сборку в моем приложении.

Есть ли какое-то отношение к сателлитным сборкам или что-то еще, или как мне получить доступ к этим стилям, чтобы мое приложение могло по-прежнему иметь теги StaticResource без ошибок компиляции?

1 Ответ

5 голосов
/ 07 октября 2011

Предполагая, что ваши стили хранятся в ResourceDictionary в другой сборке, вам просто нужно объединить их с текущими ресурсами (независимо от того, находятся ли они на Window или UserControl или как угодно).

Если предположить, что

  • ваша другая сборка называется 'external.assembly.name'
  • ResourceDictionary находится под пространством имен; и
  • словарь назван 'MyStyles.xaml'

... тогда вы можете объединить словари, как показано ниже:

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary 
              Source="pack://application:,,,/external.assembly.name;component/Resources/MyStyles.xaml" />
        </ResourceDictionary.MergedDictionaries>
        <!-- other resources go here -->
    </ResourceDictionary>
</UserControl.Resources>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...