通过


IQueryAmbient 接口

定义

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

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

注解

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

IQueryAmbient 有一个成员: IsAmbientPropertyAvailable.

IQueryAmbient是一种并行机制。AmbientAttribute IQueryAmbient是一种专用机制,可避免使用反射来确定信息,也可以以情况方式(给定对象可以选择报告或false报告trueIsAmbientPropertyAvailable),而属性本质上是静态分析。 AmbientAttribute是 XAML 对象编写器可以使用的一般机制,通常与专用 XAML 类型系统属性IsAmbient相关联。IsAmbient

IQueryAmbient 的 WPF 实现

在 WPF 中, IQueryAmbient 用于资源字典查找过程。 查找过程将获取 WPF 逻辑树中的连续 Resources 值,在找到密钥或确定密钥在作用域中不存在之前,才面向资源范围的根目录。 通常,这样做需要每次实例化 ResourceDictionary 才能接收结果。 只要Resources存在,就声明为环境的内容Resources会优化此查找过程。 在 WPF 中,此接口在以下情况下实现:

方法

名称 说明
IsAmbientPropertyAvailable(String)

查询指定命名属性是否可以在当前范围内被视为环境。

适用于

另请参阅