MarkupExtension クラス

定義

.NET XAML サービスおよびその他の XAML リーダーと XAML ライターによってサポートされる XAML マークアップ拡張機能の実装のための基底クラスを提供します。

public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
継承
MarkupExtension
派生

注釈

マークアップ拡張機能は、XAML の文字列属性値またはマークアップ要素の入力に基づいて、オブジェクトを呼び出し元に返します。 マークアップ拡張は、型コンバーターだけでは実現できないより高度な方法でオブジェクトを返します。 XAML オブジェクト ライターは、型またはメンバーに関連付けられた型コンバーターの実装があるため、型コンバーターを呼び出します。 CLR 参照フレームからは、型またはメンバーが属性付きであることを TypeConverterAttribute 意味します。 XAML 型システムの観点から見ると、これは XAML 型または XAML メンバーがそのプロパティの TypeConverter 値を持っていることを意味します。 型コンバーターの呼び出しは、型またはプロパティ定義に関連付けられており、このような場合は常に XAML 処理によって呼び出されます。 これに対し、マークアップ拡張機能は、ユーザー コードとユーザーが生成したマークアップの制御下にあり、アプリケーション シナリオで要求されるたびに適用できます。 マークアップ拡張機能を呼び出すことができます。マークアップ拡張機能の戻り値の型がその値に割り当て可能である限り、さまざまな型メンバー値を設定するために使用できます。

カスタム マークアップ拡張機能の作成の詳細については、「」を参照してください ProvideValue。 一般的なマークアップ拡張機能の詳細については、「 XAML のマークアップ拡張機能の概要」を参照してください。 WPF 上でビルドし、XAML のマークアップ拡張機能を使用または作成している場合は、その他の関連情報については、「 マークアップ拡張機能と WPF XAML」を参照してください。

各マークアップ拡張機能の実装のメソッドでは ProvideValue 、実行時に コンテキストを提供できる を IServiceProvider 使用できます。 そのIServiceProvider後、 や IXamlTypeResolverなどのIProvideValueTarget情報を渡す特定のサービスに対してクエリが実行されます。 マークアップ拡張機能のサービス コンテキストの詳細については、「 型コンバーターとマークアップ拡張機能で使用できるサービス コンテキスト」を参照してください。

マークアップ拡張機能ProvideValueの実装からMarkupExtensionReturnTypeAttribute使用できる最も具体的な戻り値の型をコンシューマーに通知するには、派生クラスを に属性付けする必要があります。

コンストラクター

MarkupExtension()

MarkupExtension から派生したクラスの新しいインスタンスを初期化します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ProvideValue(IServiceProvider)

派生クラスで実装された場合、このマークアップ拡張機能のターゲット プロパティの値として提供されるオブジェクトを返します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください