ResourceDictionary Класс

Определение

Предоставляет реализацию хэш-таблицы или словаря, содержащую ресурсы WPF, которые используются компонентами и другими элементами приложения WPF.

public ref class ResourceDictionary : System::Collections::IDictionary, System::ComponentModel::ISupportInitialize, System::Windows::Markup::INameScope, System::Windows::Markup::IUriContext
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public class ResourceDictionary : System.Collections.IDictionary, System.ComponentModel.ISupportInitialize, System.Windows.Markup.INameScope, System.Windows.Markup.IUriContext
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.Ambient]
[System.Windows.Markup.UsableDuringInitialization(true)]
public class ResourceDictionary : System.Collections.IDictionary, System.ComponentModel.ISupportInitialize, System.Windows.Markup.INameScope, System.Windows.Markup.IUriContext
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ResourceDictionary = class
    interface IDictionary
    interface ICollection
    interface IEnumerable
    interface INameScope
    interface ISupportInitialize
    interface IUriContext
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.Ambient>]
[<System.Windows.Markup.UsableDuringInitialization(true)>]
type ResourceDictionary = class
    interface IDictionary
    interface ICollection
    interface IEnumerable
    interface ISupportInitialize
    interface IUriContext
    interface INameScope
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.Ambient>]
[<System.Windows.Markup.UsableDuringInitialization(true)>]
type ResourceDictionary = class
    interface ICollection
    interface IEnumerable
    interface IDictionary
    interface ISupportInitialize
    interface INameScope
    interface IUriContext
Public Class ResourceDictionary
Implements IDictionary, INameScope, ISupportInitialize, IUriContext
Наследование
ResourceDictionary
Производный
Атрибуты
Реализации

Комментарии

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

Класс ResourceDictionary не является производным от DictionaryBase. Вместо этого ResourceDictionary класс реализует IDictionary , но полагается на внутренний Hashtable .

В языке ResourceDictionary XAML класс обычно является неявным элементом коллекции, который является значением элемента объекта нескольких Resources свойств при указании синтаксиса элемента свойства. Дополнительные сведения о неявных коллекциях в XAML см. в описании синтаксиса XAML. Исключение заключается в том, что требуется указать объединенный словарь; Дополнительные сведения см. в разделе объединенных словарей ресурсов.

Другое возможное использование XAML — объявить словарь ресурсов как дискретный XAML-файл и загрузить его во время Load выполнения или включить его в проект (с полным доверием) как ресурс или свободный файл. В этом случае ResourceDictionary можно объявить как объектный элемент, который служит корневым элементом XAML. Если планируется использовать его в качестве корневого элемента, необходимо сопоставить соответствующие значения пространства имен XML (по умолчанию для пространства имен WPF и обычно x: для пространства имен XAML).ResourceDictionary Затем можно добавить дочерние элементы, определяющие ресурсы, каждый из которых имеет значение x:Key .

Неявное использование коллекции XAML

<object>  
  <object.resourcesProperty>  
    oneOrMoreResources  
  </object.resourcesProperty>  
</object>  

Значения XAML

resourcesProperty
Свойство, указывающее элемент свойства, где тип значения этого свойства .ResourceDictionary Как правило, это Resources свойство FrameworkElement или FrameworkContentElement( или Application ) в случае ресурсов приложения.

oneOrMoreResources
Один или несколько ресурсов, указанных как элементы объекта. У каждого указанного ресурса должна быть назначена директива x:Key .

Конструкторы

ResourceDictionary()

Инициализирует новый экземпляр класса ResourceDictionary.

Свойства

Count

Возвращает количество записей в базовом словаре ResourceDictionary.

DeferrableContent

Получает или задает содержимое, допускающее задержку, для этого словаря ресурсов.

InvalidatesImplicitDataTemplateResources

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

IsFixedSize

Возвращает значение, которое показывает, имеет ли словарь ResourceDictionary фиксированный размер.

IsReadOnly

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

Item[Object]

Возвращает или задает значение, связанное с данным ключом.

Keys

Возвращает коллекцию всех ключей, содержащихся в данном объекте ResourceDictionary.

MergedDictionaries

Получает коллекцию словарей ResourceDictionary, представляющих собой различные словари ресурсов в объединенных словарях.

Source

Получает или задает универсальный код ресурса (URI) для загрузки ресурсов.

Values

Возвращает коллекцию всех значений, связанных с ключами в данном словаре ResourceDictionary.

Методы

Add(Object, Object)

Добавляет ресурс по ключу для данного класса ResourceDictionary.

BeginInit()

Начинается этап инициализации для данного объекта ResourceDictionary.

Clear()

Удаляет все ключи (и значения) в базовом объекте ResourceDictionary. Это не приводит к удалению элементов объединенного словаря.

Contains(Object)

Определяет, содержится ли элемент с указанным ключом в ResourceDictionary.

CopyTo(DictionaryEntry[], Int32)

Копирует элементы класса ResourceDictionary в одномерный массив класса DictionaryEntry с указанного индекса.

EndInit()

Завершается этап инициализации, что делает недействительным предыдущее дерево. Это позволяет учесть все изменения ключей, выполненные во время этапа инициализации.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindName(String)

Не поддерживается этой реализацией словаря.

GetEnumerator()

Возвращает объект IDictionaryEnumerator, который может использоваться выполнения итерации по элементам словаря ResourceDictionary.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnGettingValue(Object, Object, Boolean)

Возникает, когда ResourceDictionary получает запрос на ресурс.

RegisterName(String, Object)

Не поддерживается этой реализацией словаря.

Remove(Object)

Удаляет запись с указанным ключом из базового словаря.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
UnregisterName(String)

Не поддерживается этой реализацией словаря.

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32)

Описание этого члена см. в разделе CopyTo(Array, Int32).

ICollection.IsSynchronized

Описание этого члена см. в разделе IsSynchronized.

ICollection.SyncRoot

Описание этого члена см. в разделе SyncRoot.

IEnumerable.GetEnumerator()

Описание этого члена см. в разделе GetEnumerator().

IUriContext.BaseUri

Описание этого члена см. в разделе BaseUri.

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

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

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