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


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 от внутреннего.

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

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

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

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

Значения XAML

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

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

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

Имя Описание
ResourceDictionary()

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

Свойства

Имя Описание
Count

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

DeferrableContent

Возвращает или задает отложенное содержимое для этого словаря ресурсов.

InvalidatesImplicitDataTemplateResources

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

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.

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

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

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

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