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を渡す特定のサービスに対してクエリが実行されます (例: IProvideValueTarget .IXamlTypeResolver マークアップ拡張機能のサービス コンテキストの詳細については、「 型コンバーターとマークアップ拡張機能で使用できるサービス コンテキスト」を参照してください。

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

コンストラクター

MarkupExtension()

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

メソッド

Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
ProvideValue(IServiceProvider)

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

ToString()

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

(継承元 Object)

適用対象

こちらもご覧ください