IXamlNameResolver インターフェイス

定義

XAML 名で指定されたオブジェクトを返すことができるサービスを記述するか、または代わりに名前解決を遅延するトークンを返します。 サービスは、XAML 名前スコープ内のすべての名前付きオブジェクトの列挙可能なセットを返すこともできます。

public interface class IXamlNameResolver
public interface IXamlNameResolver
type IXamlNameResolver = interface
Public Interface IXamlNameResolver

注釈

このインターフェイスは、サービスであるため、一般的な XAML シナリオの外部実装を目的としていません。 このサービスを使用すると、マークアップ拡張と型コンバーターは、XAML ノード表現内にある間に、同じ XAML ソースから他のオブジェクトに XAML 名を解決できます。 このサービスを使用して、周囲の XAML 運用環境への非線形アクセスに XAML 名に依存する任意のメカニズムの前方参照を解決できます。 詳細については、「XAML の型コンバーターおよびマークアップ拡張機能」を参照してください。

型コンバーターとマークアップ拡張は、XAML オブジェクト ライターが値変換動作を呼び出すときに、XAML オブジェクト ライターによって提供されるサービス コンテキストでサービスとしてクエリ IXamlNameResolver を実行できます。 詳細については、「 型コンバーターと型コンバーターとマークアップ拡張使用できる XAML およびサービス コンテキストのマークアップ拡張」を参照してください。

このサービスは、名前解決を延期できる API を公開します。 サービスによって実装されるメタファーは、部分的な名前オブジェクト グラフに対する最初のパスで解決できない名前を格納し、修正トークンを作成するために使用する必要があるということです。 既定の動作では、このような名前はすべて、2 回目のパスで別の解決試行のために送信されます。 2 番目のパスでは、名前オブジェクト グラフ全体が完了し、すべての fixup トークンを解決できます。

注意

特定の実装で許可されている場合でも、XAML の前方参照は必然的にパフォーマンスの影響を受けます。 運用環境の品質の XAML のベスト プラクティスとして、可能な限り前方参照を避けてください。

プロパティ

IsFixupTokenAvailable

名前からトークンへの前方解決を行うために GetFixupToken(IEnumerable<String>, Boolean) の呼び出しが使用できるかどうかを判断する値を取得します。

メソッド

GetAllNamesAndValuesInScope()

XAML 名前スコープ内のすべての名前付きオブジェクトの列挙可能なセットを返します。

GetFixupToken(IEnumerable<String>)

前方参照を生成する特定のマークアップ パターンを修正できるオブジェクトを返します。

GetFixupToken(IEnumerable<String>, Boolean)

前方参照を生成する特定のマークアップ パターンを修正できるオブジェクトを返します。

Resolve(String)

名前参照からオブジェクトを解決します。

Resolve(String, Boolean)

名前参照からオブジェクトを解決し、オブジェクト グラフ用にオブジェクトが完全に初期化されているかどうかを報告する追跡値を提供します。

events

OnNameScopeInitializationComplete

XAML プロセッサによって関連するすべての名前がバッキング XAML 名前スコープに登録されると発生します。

適用対象

こちらもご覧ください