Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Свойство FrameworkElement.Resources

 

Опубликовано: Октябрь 2016

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

Пространство имен:   System.Windows
Сборка:  PresentationFramework (в PresentationFramework.dll)

[AmbientAttribute]
public ResourceDictionary Resources { get; set; }

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

Type: System.Windows.ResourceDictionary

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

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

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

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

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

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

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

oneOrMoreResourceElements

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

.NET Framework
Доступно с 3.0
Silverlight
Доступно с 2.0
Windows Phone Silverlight
Доступно с 7.0
Вернуться в начало
Показ: