IQueryAmbient 接口

定义

查询是否应将指定的属性视为当前范围中的环境属性。

public interface class IQueryAmbient
public interface IQueryAmbient
type IQueryAmbient = interface
Public Interface IQueryAmbient
派生

注解

环境属性机制的目的是通过通知 XAML 对象编写者避免实例化某些对象来缩短分析时间,如果已知对象是临时值,并且对典型的运行时应用程序没有用。 通常,XAML 查找或对属性 get 访问器的 XAML 处理需要实例化此类对象,以使用现成的值填充对象图表示形式。

IQueryAmbient 有一个成员: IsAmbientPropertyAvailable

IQueryAmbient 是 的并行机制 AmbientAttributeIQueryAmbient 是一种专用机制,可避免使用反射来确定信息,还可以 (给定对象可以选择报告 truefalse) IsAmbientPropertyAvailable ,而 属性实质上是静态分析) 。 AmbientAttribute 是 XAML 对象编写器可以使用的常规机制,通常与专用 XAML 类型系统属性 IsAmbientIsAmbient相关联。

IQueryAmbient 的 WPF 实现

在 WPF 中, IQueryAmbient 用于资源字典查找过程。 查找过程将获取整个 WPF 逻辑树中的连续 Resources 值,并针对资源范围的根目录工作,直到找到键或确定该键在范围内不存在。 通常,这样做需要每次实例化 才能 ResourceDictionary 接收结果。 将 的内容 Resources 声明为环境(只要 Resources 存在)可优化此查找过程。 在 WPF 中,此接口在以下情况下实现:

方法

IsAmbientPropertyAvailable(String)

查询可否将指定的命名属性视为当前范围中的环境属性。

适用于

另请参阅