IQueryAmbient 介面

定義

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

C#
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)

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

適用於

產品 版本
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另請參閱