Поделиться через


FrameworkElement.Resources Свойство

Определение

Возвращает или задает локально определенный словарь ресурсов.

public:
 property System::Windows::ResourceDictionary ^ Resources { System::Windows::ResourceDictionary ^ get(); void set(System::Windows::ResourceDictionary ^ value); };
public System.Windows.ResourceDictionary Resources { get; set; }
[System.Windows.Markup.Ambient]
public System.Windows.ResourceDictionary Resources { get; set; }
member this.Resources : System.Windows.ResourceDictionary with get, set
[<System.Windows.Markup.Ambient>]
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary

Значение свойства

Текущий локально определенный словарь ресурсов, где доступ к каждому ресурсу можно получить по ключу.

Атрибуты

Комментарии

Словари ресурсов, которые можно определить полностью или частично в языке разметки расширяемых приложений (XAML), обычно создаются как элемент свойства и обычно находятся в корневом элементе для любой отдельной страницы или приложения. Размещение словаря ресурсов на этом уровне упрощает поиск отдельных дочерних элементов на странице (или с любой страницы в случае приложения). В большинстве сценариев приложений рекомендуется определять стили как элементы объектов в словаре ресурсов или определяться как внешние ресурсы, чтобы весь ресурс стиля можно было автономно (этот подход помогает разделить обязанности конструктора от обязанностей разработчика, разделив физические файлы, которые необходимо изменить).

Обратите внимание, что это свойство возвращает только словарь ресурсов, объявленный непосредственно в этом элементе. Это отличается от фактического процесса поиска ресурсов, где дочерний элемент может получить доступ к любому из ресурсов, определенных в каждом родительском элементе, поиск рекурсивно вверх.

Ресурсы также могут ссылаться на код из коллекции, но помните, что ресурсы, созданные в XAML, определенно не будут доступны до тех пор, пока не Loaded будет вызван элементом, объявляющим словарь. На самом деле ресурсы анализируются асинхронно, и даже Loaded событие не является гарантией того, что можно ссылаться на определенный ресурс XAML. По этой причине обычно следует обращаться только к определенным ресурсам XAML в рамках кода времени выполнения или с помощью других методов XAML, таких как стили или ссылки на расширения ресурсов для значений атрибутов. При доступе к ресурсам с помощью кода он по сути эквивалентен ссылке DynamicResource , сделанной из XAML.

Базовый ResourceDictionary поддерживает методы, необходимые для добавления, удаления или запроса ресурсов из коллекции с помощью кода. Свойство Resources задано для поддержки сценария полной замены коллекции ресурсов элемента новым или другим ResourceDictionary.

Обратите внимание, что показанный синтаксис XAML не содержит элемент для ResourceDictionaryэлемента. Это пример синтаксиса неявной коллекции; Тег, представляющий элемент коллекции, может быть опущен. Вместо этого указываются элементы, добавляемые в коллекцию в качестве элементов. Дополнительные сведения о неявных коллекциях и XAML см. в описании синтаксиса XAML. Один из случаев, когда ResourceDictionary элемент по-прежнему указан явным образом, если вы вводите объединенный словарь, в этом случае для этого ResourceDictionaryобычно нет дочерних элементов. Дополнительные сведения см. в объединенных словарях ресурсов.

Использование элемента свойства XAML

<object>
  <object.Resources>
    oneOrMoreResourceElements
  </object.Resources>
</object>

Значения XAML

oneOrMoreResourceElements Один или несколько элементов объекта, каждый из которых определяет ресурс. Каждый элемент свойства ресурса в каждом из них ResourceDictionary должен иметь уникальное значение для директивы x:Key, которая служит уникальным ключом при извлечении значений из него ResourceDictionary.

Применяется к

См. также раздел