次の方法で共有


XmlnsPrefixAttribute クラス

定義

XAML ファイルに要素と属性を書き込む (シリアル化する) ときや、XAML 編集機能を持つデザイン環境とやり取りするときに、XAML で使用するために XAML 名前空間に関連付ける推奨プレフィックスを示します。

public ref class XmlnsPrefixAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class XmlnsPrefixAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)>]
type XmlnsPrefixAttribute = class
    inherit Attribute
Public NotInheritable Class XmlnsPrefixAttribute
Inherits Attribute
継承
XmlnsPrefixAttribute
属性

注釈

XAML を組み込む XAML プロセッサまたはフレームワーク、または XAML シリアル化を実行するプロセスは、通常、推奨されるプレフィックスを受け入れる必要があります。 元の XAML ソースの特定のマッピングのプレフィックスがランタイム オブジェクト グラフに何らかの形で保持されない場合や、フレームワークまたはテクノロジによって格納される場合は、プレフィックスが必要になる場合があります。 フレームワークには、独自のアセンブリから推奨されるプレフィックスを無視する独自の型をシリアル化する方法に関する特定の設定がある場合があります。これは、既定の XAML 名前空間を一貫して昇格させるために行われる場合があります。 ただし、このようなフレームワークでは、XAML 型のサード パーティおよびツールで使用される可能性がある場合に推奨されるプレフィックスを提供する必要があります。 以下の「XAML Designer サポートまたは一般的なシリアル化のベスト プラクティス」セクションを参照してください。

プレフィックスは通常、XAML 名前空間から取得されるすべてのシリアル化された要素に適用されるため、プレフィックスの一般的な推奨事項は短い文字列を使用することです。 プレフィックス文字列の長さは、シリアル化された XAML 出力のサイズに顕著な影響を及ぼす可能性があります。

要求されているプレフィックスが、以前に検出またはシリアル化された別の XAML 名前空間識別子によって既に使用されている場合、動作は指定されていません (動作は個々の XAML プロセッサの実装に応じて異なります)。

ほとんどの場合、同じ XAML 名前空間に対してアセンブリに少なくとも 1 つXmlnsDefinitionAttributeを適用した場合にのみ適用XmlnsPrefixAttributeします。

以前のバージョンの.NET Frameworkでは、このクラスは WPF 固有のアセンブリ WindowsBase に存在しました。 .NET Framework 4 では、 XmlnsPrefixAttribute は System.Xaml アセンブリ内にあります。 詳細については、「 Types Migrated from WPF to System.Xaml」を参照してください。

XAML Designer サポートまたは一般的なシリアル化のベスト プラクティス

関連付けられた XAML 名前空間をフレームワークまたはライブラリのほとんどのユース ケースで既定の XAML 名前空間にする場合でも、XAML 名前空間の推奨されるプレフィックスとして空でない文字列を指定する必要があります。 既定の XAML 名前空間情報は、個々の XAML ファイルと XAML ノード ストリームに格納されます。 既定の XAML 名前空間と、特定の XAML ソースでの定義方法は、 を使用 XmlnsPrefixAttributeせずに、ケースごとのシリアル化に対して簡単に永続化できます。 ただし、 は、 XmlnsPrefixAttribute XAML 作成者が既定の XAML 名前空間を別のものにマップすることを選択した場合に便利です。 このシナリオでは、デザイン環境に埋め込まれた XAML テキスト エディターを、初期 XAML 名前空間xmlnsマッピングのヒントとして使用XmlnsPrefixAttributeできます。 または、デザイン環境では、ツールボックスからオブジェクトをドラッグしてビジュアル デザイン サーフェイスにドラッグするなどのデザインメタファーのために、バッキング XAML に Just-In-Time マッピングを追加できます。 また、デザイナーは複数の XAML 対応フレームワークを同時にサポートでき、フレームワーク固有のシリアル化ではなく、.NET FRAMEWORK XAML サービスに依存する一般的な XAML シリアライザーを備えることも考えられます。 XmlnsPrefixAttributeこれらのシナリオに を指定すると、XAML がデザイン ツール間で交換されたり、XAML エディターとマークアップ コンパイラやその他のシリアル化などの他のコンシューマーとの間でラウンド トリップが行われる場合に、型の XAML の使用をより移植性と堅牢性を高めるのに役立ちます。

コンストラクター

XmlnsPrefixAttribute(String, String)

XmlnsPrefixAttribute クラスの新しいインスタンスを初期化します。

プロパティ

Prefix

この属性に関連付けられているお勧めのプレフィックスを取得します。

TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。

(継承元 Attribute)
XmlNamespace

この属性に関連付けられた XAML 名前空間識別子を取得します。

メソッド

Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。

(継承元 Attribute)
GetHashCode()

このインスタンスのハッシュ コードを返します。

(継承元 Attribute)
GetType()

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

(継承元 Object)
IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。

(継承元 Attribute)
Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。

(継承元 Attribute)
MemberwiseClone()

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

(継承元 Object)
ToString()

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

(継承元 Object)

明示的なインターフェイスの実装

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。

(継承元 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

(継承元 Attribute)

適用対象

こちらもご覧ください