Show / Hide Table of Contents

Расширение разметки ThemeDictionary

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

Использование атрибута XAML

<object property="{ThemeDictionary assemblyUri}" .../>  

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

<object>  
  <object.property>  
    <ThemeDictionary AssemblyName="assemblyUri"/>  
  <object.property>  
<object>  

Значения XAML

assemblyUri URI сборки, содержащей сведения о теме. Как правило, это URI типа pack, который ссылается на сборку в большом пакете. Ресурсы сборки и URI типа pack упрощают развертывание. Дополнительные сведения см. в разделе URI типа pack в WPF.

Примечания

Это расширение предназначено для заполнения только одного значения конкретного свойства: значение для ResourceDictionary.Source.

Используя это расширение, можно указать единую сборку только для ресурсов, которая содержит некоторые стили для использования только в случае, если тема Windows Aero применяется к системе пользователя, другие стили при активной теме Luna и т. д. Используя это расширение, содержимое словаря ресурсов элемента управления при необходимости можно автоматически считать недействительным и перезагрузить для другой темы.

assemblyUri Строки (AssemblyName значение свойства) является основанием для именования, определяющий, какой словарь применяется к определенной теме. ProvideValue Логику для ThemeDictionary завершения соглашение путем создания URI , указывающий тип словаря конкретной темы, содержащийся внутри предварительно скомпилированных ресурсов сборки. Описание этого соглашения или взаимодействия темы со стилизацией основных элементов управления и стилизацией уровня страницы или приложения, как концепции, полностью в данном разделе не рассматривается. Основные сценарии использования ThemeDictionary заключается в указании Source свойство ResourceDictionary объявлен на уровне приложения. В случае предоставления URI для сборки посредством расширения ThemeDictionary вместо непосредственного URI логика расширения обеспечит логику недействительности, которая применяется при каждом изменении системной темы.

Синтаксис атрибутов является наиболее распространенным синтаксисом, используемым с этим расширением разметки. Строковая лексема, указываемая после строки идентификатора ThemeDictionary, присваивается в качестве значения AssemblyName соответствующего класса расширения ThemeDictionaryExtension.

ThemeDictionary может также использоваться в синтаксисе элемента объекта. В этом случае укажите значение параметра AssemblyName свойство является обязательным.

ThemeDictionary Можно также использовать в использовании атрибут verbose, который указывает Member как свойство = значение пары:

<object property="{ThemeDictionary AssemblyName=assemblyUri}" .../>  

Подробное определение зачастую удобно использовать для расширений, которые имеют несколько устанавливаемых свойств, а также в том случае, если некоторые свойства являются необязательными. Так как ThemeDictionary имеет только одно устанавливаемое свойство, которое является обязательным, это использование не является типичным.

В WPF XAML реализации обработчика обработка данного расширения разметки определяется ThemeDictionaryExtension класса.

ThemeDictionary является расширением разметки. Расширения разметки обычно реализуются, если требуется заменить значения атрибутов на нелитеральные значения или имена обработчиков и если требуется больше, чем простая настройка преобразователей типов на работу с определенными типами или свойствами. Все расширения разметки в XAML используют символы "{" и "}" в синтаксисе их атрибутов, который является соглашением, по которому обработчик XAML распознает, что расширение разметки должно обработать атрибут. Дополнительные сведения см. в разделе Расширения разметки и XAML WPF.

См. также

  • Стилизация и использование шаблонов
  • Обзор XAML (WPF)
  • Расширения разметки и XAML WPF
  • Ресурсы, Содержимое и Файлы данных WPF-приложения
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX