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 番目のパスでは、名前オブジェクト グラフ全体が完了し、すべての修正トークンを解決できます。

Note

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

プロパティ

名前 説明
IsFixupTokenAvailable

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

メソッド

名前 説明
GetAllNamesAndValuesInScope()

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

GetFixupToken(IEnumerable<String>, Boolean)

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

GetFixupToken(IEnumerable<String>)

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

Resolve(String, Boolean)

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

Resolve(String)

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

イベント

名前 説明
OnNameScopeInitializationComplete

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

適用対象

こちらもご覧ください