2010-09-02 2 views

ответ

8

Другим файлом XAML должен быть словарь ресурсов. Вы объедините его в текущий файл, используя свойство MergedDictionaries текущего ResourceDictionary. См. Merged Resource Dictionaries на MSDN. Их пример:

<Page.Resources> 
    <ResourceDictionary> 
    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="myresourcedictionary.xaml"/> 
     <ResourceDictionary Source="myresourcedictionary2.xaml"/> 
    </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Page.Resources> 

Затем внутри этого объекта страницы вы можете ссылаться на статические ресурсы, определенные в myresourcedictionary.xaml или в myresourcedictionary2.xaml.

3

«другой файл XAML» может означать несколько различных вещей:

  • App.xaml: Ресурсы автоматически включаются в дереве ресурсов ничего, что открылись, так что вам не нужно делать ничего лишнего.
  • Окно или Страница .xaml: Доступ к ресурсам может получить любой дочерний объект экземпляра, например UserControl, который используется в окне.
  • ResourceDictionary: Необходимо явно влиться в дерево ресурсов где-то выше, где оно используется. Это может быть App.xaml, Windowxx.xaml или некоторый элемент более низкого уровня. Используйте ResourceDictionary.MergedDictionaries для этого.

Есть также много альтернативных способов указать путь, но это самый простой:

<Window> 
    <Window.Resources> 
     <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Resources/MyResourceDict.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Window.Resources> 
Смежные вопросы