MarkupExtension クラス

定義

.NET Framework. XAML サービスによってサポートされる XAML マークアップ拡張機能の実装の基本クラス、および他の XAML リーダーと XAML ライターを提供します。Provides a base class for XAML markup extension implementations that can be supported by .NET Framework XAML Services and other XAML readers and XAML writers.

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

注釈

マークアップ拡張は、XAML の文字列属性値またはマークアップ要素の入力に基づいて、オブジェクトを呼び出し元に返します。Markup extensions return objects to callers, based on the input of string attribute values or markup elements in XAML. マークアップ拡張機能は、型コンバーターだけが実行できるより洗練された方法でオブジェクトを返します。Markup extensions return objects in a more sophisticated way than type converters alone can accomplish. 型またはメンバーには、型コンバーターの実装が関連付けられているため、XAML オブジェクトライターは型コンバーターを呼び出します。A XAML object writer invokes a type converter because a type or member has a type converter implementation associated with it. これは、参照の CLR フレームから、型またはメンバーに属性TypeConverterAttributeが付けられていることを意味します。From the CLR frame of reference, this means that a type or member is TypeConverterAttribute attributed. Xaml 型システムの観点から見ると、これは xaml 型または xaml メンバーのTypeConverterプロパティの値がであることを意味します。From the XAML type system perspective, this means that a XAML type or a XAML member has a value for its TypeConverter property. 型コンバーターの呼び出しは、型またはプロパティの定義に関連付けられており、常にこのような場合に XAML 処理によって呼び出されます。The invocation of a type converter is tied to the type or property definition, and is always invoked by XAML processing for these cases. これに対し、マークアップ拡張機能は、ユーザーコードとユーザーが生成したマークアップの制御下にあり、アプリケーションのシナリオで要求されるたびに適用できます。In contrast, a markup extension is more under the control of user code and user-produced markup, and can be applied whenever an application scenario demands it. マークアップ拡張機能を呼び出すことができ、異なる型メンバー値を設定するために使用できます。ただし、マークアップ拡張機能の戻り値の型がその値に割り当て可能である必要があります。A markup extension can be invoked and can be used for setting different type-member values, so long as the markup extension's return type is assignable to that value.

カスタムマークアップ拡張機能の作成の詳細にProvideValueついては、「」を参照してください。For information on creating a custom markup extension, see ProvideValue. マークアップ拡張機能全般の詳細については、「 XAML のマークアップ拡張機能の概要」を参照してください。For more information on markup extensions in general, see Markup Extensions for XAML Overview. WPF でビルドし、XAML のマークアップ拡張機能を使用または作成する場合、他の関連情報については、「マークアップ拡張機能と WPF XAML」を参照してください。If you are building on WPF and using or creating markup extensions for XAML, other relevant information can be found in the topic Markup Extensions and WPF XAML.

ProvideValueマークアップ拡張機能の実装のメソッドはIServiceProvider 、実行時にコンテキストを提供できるを使用できます。The ProvideValue method of each markup extension implementation can use an IServiceProvider at run time that can provide context. その後、 IProvideValueTargetIXamlTypeResolverなどの情報を渡す特定のサービスに対してクエリを行います。 IServiceProviderThis IServiceProvider is then queried for specific services that pass information, such as IProvideValueTarget or IXamlTypeResolver. マークアップ拡張機能のサービスコンテキストの詳細については、「型コンバーターおよびマークアップ拡張機能で使用できるサービスコンテキスト」を参照してください。For more information on service contexts for a markup extension, see Service Contexts Available to Type Converters and Markup Extensions.

派生クラスは、マークアップMarkupExtensionReturnTypeAttribute拡張機能のProvideValue実装で使用できる最も具体的な戻り値の型をコンシューマーに通知するために、で属性を付ける必要があります。Derived classes should be attributed with MarkupExtensionReturnTypeAttribute to inform consumers of the most specific return type available from the markup extension's ProvideValue implementation.

コンストラクター

MarkupExtension()

MarkupExtension から派生したクラスの新しいインスタンスを初期化します。Initializes a new instance of a class derived from MarkupExtension.

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ProvideValue(IServiceProvider)

派生クラスで実装された場合、このマークアップ拡張機能のターゲット プロパティの値として提供されるオブジェクトを返します。When implemented in a derived class, returns an object that is provided as the value of the target property for this markup extension.

ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください