IQueryAmbient IQueryAmbient IQueryAmbient IQueryAmbient Interface

Определение

Запрашивает, должно ли заданное свойство в текущей области обрабатываться как свойство окружения.Queries for whether a specified property should be treated as ambient in the current scope.

public interface class IQueryAmbient
public interface IQueryAmbient
type IQueryAmbient = interface
Public Interface IQueryAmbient
Производный

Комментарии

Цель внешнего свойства — сокращение времени синтаксического анализа путем информирования средство записи объектов XAML, чтобы избежать создания экземпляров определенных объектов, в случаях, когда известно, что объекты предназначены для значений, которые являются временными и не будет полезным для обычное время выполнения приложение.The purpose of an ambient property mechanism is to improve parsing time by informing a XAML object writer to avoid instantiating certain objects, in cases where it is known that the objects are for values that are temporary and not useful for a typical run time application. Как правило уточняющие запросы XAML или XAML обработку метод доступа get свойства должны создать такие объекты, чтобы заполнить представление графа объектов со значениями готовые к использованию.Normally, XAML lookups or XAML processing of a property get accessor would need to instantiate such objects to fill the object graph representation with ready-to-use values.

IQueryAmbient имеется один член: IsAmbientPropertyAvailable.IQueryAmbient has one member: IsAmbientPropertyAvailable.

IQueryAmbient — Это механизм параллельного AmbientAttribute.IQueryAmbient is a parallel mechanism to AmbientAttribute. IQueryAmbient — специализированный механизм, который позволяет избежать использования отражения для получения сведений, а также могут act situationally (данный объект может выбрать отчет true или false для IsAmbientPropertyAvailable), тогда как атрибут является статическим Анализ).IQueryAmbient is the specialized mechanism that avoids using reflection to determine information, and can also act situationally (a given object could choose to report true or false for IsAmbientPropertyAvailable), whereas the attribute is essentially static analysis). AmbientAttribute — Универсальный механизм, который может использоваться средства записи объектов XAML, и, обычно связано с выделенные свойства системы типов XAML IsAmbient и IsAmbient.AmbientAttribute is the general mechanism that can be used by XAML object writers and that typically correlates to the dedicated XAML type system properties IsAmbient and IsAmbient.

IQueryAmbient, реализованных в WPFWPF Implementations of IQueryAmbient

В WPF IQueryAmbient используется для процесса поиска словаря ресурсов.In WPF, IQueryAmbient is used for the resource dictionary lookup process. Процесс поиска возвращает последовательные Resources значения в логическом дереве WPF, двигаясь от корня области видимости ресурса либо до ключ найден, или ключ определяется как не существует в области.The lookup process gets successive Resources values throughout the WPF logical tree, working towards the root of the resource scope until either a key is found or the key is determined to not exist in scope. Как правило, это потребует создания экземпляра ResourceDictionary каждый раз для получения результатов.Normally, doing so would require instantiating a ResourceDictionary each time to receive the results. Объявление содержимого Resources как свойство окружения, поскольку при Resources существует оптимизирует данный процесс поиска.Declaring the contents of Resources as ambient so long as Resources exists optimizes this lookup process. В WPF этот интерфейс реализуется в следующих случаях:In WPF, this interface is implemented in the following cases:

  • FrameworkElement реализует IQueryAmbient.IsAmbientPropertyAvailable для возврата true для всех имен свойств, если он содержит существующий ResourceDictionary для Resources, и до тех пор, пока запрос не для Resources само свойство.FrameworkElement implements IQueryAmbient.IsAmbientPropertyAvailable to return true for all property names if it contains an existing ResourceDictionary for Resources, and so long as the query is not for the Resources property itself.

  • Style реализует тот же шаблон для его Resources.Style implements the same pattern for its Resources.

  • Application реализует тот же шаблон для его Resources.Application implements the same pattern for its Resources.

  • FrameworkContentElement реализует тот же шаблон для его Resources.FrameworkContentElement implements the same pattern for its Resources.

  • FrameworkTemplate реализует тот же шаблон для его Resources.FrameworkTemplate implements the same pattern for its Resources. В нем также указаны Template содержимого возвращает окружения но false при запросе для Template сам.It also reports Template content as ambient but returns false if querying for Template itself.

  • В каждом из этих случаев, соответствующих Resources свойство (и Template) как AmbientAttribute.In each of these cases, the relevant Resources property (and Template) are attributed as AmbientAttribute. Типичный сценарий использования — для обращения к свойству, которые не являются AmbientAttribute с атрибутами свойства объекта, который определяет интерфейс.The typical usage is to query for the properties that are NOT the AmbientAttribute attributed properties of the object that defines the interface. Другими словами до тех пор, пока словарь ресурсов существует для обеспечения потенциальное время выполнения при создании графа объектов, любое другое свойство, помимо контейнер свойств в словаре ресурсов может обрабатываться как свойство окружения.In other words, so long as a resource dictionary exists in order to provide the potential run time value when the object graph is created, any other property besides the resource dictionary's property container can be treated as ambient.

Методы

IsAmbientPropertyAvailable(String) IsAmbientPropertyAvailable(String) IsAmbientPropertyAvailable(String) IsAmbientPropertyAvailable(String)

Запрашивает, можно ли считать заданное именованное свойство в текущей области свойством окружения.Queries for whether a specified named property can be considered ambient in the current scope.

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

Дополнительно