IQueryAmbient 介面

定義

查詢是否應該將指定的屬性視為目前範圍中的環境屬性。

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

備註

環境屬性機制的目的是藉由通知 XAML 物件寫入器避免具現化特定物件來改善剖析時間,在已知物件適用於暫存且不適用於一般運行時間應用程式的值時。 一般而言,屬性 get 存取子的 XAML 查閱或 XAML 處理需要具現化這類物件,才能以現成可用的值填滿物件圖形表示法。

IQueryAmbient 有一個成員: IsAmbientPropertyAvailable

IQueryAmbient 是的 AmbientAttribute平行機制。 IQueryAmbient 是避免使用反映來判斷資訊的特製化機制,也可以以情況方式 (指定物件可以選擇報告 truefalseIsAmbientPropertyAvailable 用於) ,而屬性基本上是靜態分析) 。 AmbientAttribute 是 XAML 物件寫入器可以使用的一般機制,通常與專用的 XAML 類型系統屬性 IsAmbientIsAmbient相互關聯。

IQueryAmbient 的 WPF 實作

在 WPF 中, IQueryAmbient 會用於資源字典查閱程式。 查閱程式會在整個 WPF 邏輯樹狀結構中取得連續 Resources 的值,直到找到索引鍵或索引鍵判斷為不存在於範圍之前,才會處理資源範圍的根目錄。 一般而言,這麼做需要每次具現化, ResourceDictionary 才能接收結果。 只要Resources存在,將的內容Resources宣告為環境,就會優化此查閱程式。 在 WPF 中,此介面會在下列情況下實作:

方法

IsAmbientPropertyAvailable(String)

查詢是否可以將指定的具名屬性視為目前範圍中的環境屬性。

適用於

另請參閱