XmlnsPrefixAttribute XmlnsPrefixAttribute XmlnsPrefixAttribute XmlnsPrefixAttribute Class

定義

XAML ファイルに要素と属性を書き込む (シリアル化する) とき、または XAML 編集機能を持つデザイン環境とやり取りするときに、XAML で使用するために XAML 名前空間に関連付ける推奨プレフィックスを示します。Identifies a recommended prefix to associate with a XAML namespace for XAML usage, when writing elements and attributes in a XAML file (serialization) or when interacting with a design environment that has XAML editing features.

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

注釈

Xaml または xaml シリアル化を実行する任意のプロセスが組み込まれた XAML プロセッサまたはフレームワークは、一般的に推奨されるプレフィックスに従います。XAML processors or frameworks that incorporate XAML, or any process that performs XAML serialization, should generally honor the recommended prefix. プレフィックスが必要になるのは、元の XAML ソース内の特定のマッピングのプレフィックスが、ランタイムオブジェクトグラフでは何も保存されず、フレームワークやテクノロジによって格納されていない場合です。The prefix might be necessary in any case where prefixes from specific mappings in the original XAML source are not somehow preserved in the runtime object graph or otherwise stored by a framework or technology. フレームワークには、独自のアセンブリから推奨プレフィックスを無視する独自の型をシリアル化する方法に関する特定の設定がある場合があります。これは、既定の XAML 名前空間を一貫して昇格させるために行われる場合があります。A framework might have specific preferences for how to serialize its own types that ignore the recommended prefix from its own assemblies; this might be done to consistently promote a default XAML namespace. ただし、このようなフレームワークでは、その XAML 型の使用可能なサードパーティおよびツールの使用について、推奨されるプレフィックスを引き続き提供する必要があります。However, such a framework should still provide recommended prefixes for possible third-party and tool usages of its XAML types. 後述の「XAML デザイナーサポートまたは一般的なシリアル化のベストプラクティス」セクションを参照してください。See "Best Practice for XAML Designer Support or General Serialization" section below.

プレフィックスは通常、XAML 名前空間から取得したすべてのシリアル化された要素に適用されるため、プレフィックスは短い文字列を使用することをお勧めします。A general recommendation for prefixes is to use short strings, because the prefix is typically applied to all serialized elements that come from the XAML namespace. プレフィックス文字列の長さは、シリアル化された XAML 出力のサイズに大きな影響を与える可能性があります。The prefix string length can have a noticeable effect on the size of serialized XAML output.

要求されているプレフィックスが、以前に検出またはシリアル化された別の XAML 名前空間識別子によって既に使用されている場合、動作は指定されません (動作は個々の XAML プロセッサの実装によって行われます)。If a prefix being requested is already in use by another previously encountered/serialized XAML namespace identifier, the behavior is unspecified (behavior is up to each individual XAML processor implementation).

ほとんどの場合、同じ XAML XmlnsPrefixAttribute名前空間のアセンブリに少なくとも 1 XmlnsDefinitionAttributeつのが適用されている場合にのみ、を適用します。In most cases, you apply XmlnsPrefixAttribute only if you have also applied at least one XmlnsDefinitionAttribute in the assembly for that same XAML namespace.

以前のバージョンの .NET Framework では、このクラスは WPF 固有のアセンブリ WindowsBase に存在していました。In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. .NET Framework 4.NET Framework 4XmlnsPrefixAttribute 、は、システムの .xaml アセンブリにあります。In .NET Framework 4.NET Framework 4, XmlnsPrefixAttribute is in the System.Xaml assembly. 詳細については、「 Types Migrated from WPF to System.Xaml」を参照してください。For more information, see Types Migrated from WPF to System.Xaml.

XAML デザイナーサポートまたは一般的なシリアル化のベストプラクティスBest Practice for XAML Designer Support or General Serialization

フレームワークまたはライブラリのほとんどの使用状況で、関連する XAML 名前空間を既定の XAML 名前空間として使用する場合でも、XAML 名前空間の推奨プレフィックスとして空でない文字列を指定する必要があります。Even if you intend the associated XAML namespace to be the default XAML namespace in most usage cases for your framework or library, you should still specify a non-empty string as the recommended prefix for a XAML namespace. 既定の XAML 名前空間の情報は、個々の XAML ファイルと XAML ノードストリームで引き継がれます。Default XAML namespace information is carried in individual XAML files and XAML node streams. 既定の XAML 名前空間と特定の XAML ソースでの定義方法は、を使用XmlnsPrefixAttributeせずに、ケースごとのシリアル化に簡単にこれらできます。The default XAML namespace and how it is defined in a given XAML source can easily be perpetuated for per-case serialization without using XmlnsPrefixAttribute. XmlnsPrefixAttributeただし、は、xaml の作成者が既定の xaml 名前空間を別の名前空間にマップすることを選択した場合に便利です。However, the XmlnsPrefixAttribute is useful for cases where the XAML author has chosen to map the default XAML namespace to something else. このシナリオでは、デザイン環境に埋め込まれた xaml テキストXmlnsPrefixAttributeエディターは、xaml 名前空間xmlnsの初期マッピングのヒントとしてを使用できます。In this scenario a XAML text editor embedded in a design environment can use XmlnsPrefixAttribute as a hint for an initial XAML namespace xmlns mapping. または、デザイン環境では、ツールボックスからビジュアルデザインサーフェイスにオブジェクトをドラッグするなどのデザインメタファに、just-in-time マッピングをバッキング XAML に追加できます。Or a design environment can add just-in-time mappings to the backing XAML for design metaphors such as dragging objects out of a toolbox and into a visual design surface. また、デザイナーでは複数の XAML 対応フレームワークを同時にサポートでき、フレームワーク固有のシリアル化ではなく .NET Framework XAML サービスに依存する共通の XAML シリアライザーがあることが想定されています。Also, it is conceivable that a designer could simultaneously support multiple XAML-enabling frameworks, and has a common XAML serializer that relies on .NET Framework XAML Services rather than framework-specific serialization. これらのXmlnsPrefixAttributeシナリオにを指定すると、xaml がデザインツール間で交換される場合、または xaml エディターとその他のコンシューマー (マークアップコンパイラなど) との間でラウンドトリップが行われる場合に、型の xaml 使用をより移植性が高く、堅牢にすることができます。シリアル化.Specifying a XmlnsPrefixAttribute for these scenarios helps make the XAML usage for your types more portable and robust if the XAML is exchanged between design tools, or undergoes a round trip between XAML editors and other consumers such as markup compilers or other serialization.

コンストラクター

XmlnsPrefixAttribute(String, String) XmlnsPrefixAttribute(String, String) XmlnsPrefixAttribute(String, String) XmlnsPrefixAttribute(String, String)

XmlnsPrefixAttribute クラスの新しいインスタンスを初期化します。Initializes a new instance of the XmlnsPrefixAttribute class.

プロパティ

Prefix Prefix Prefix Prefix

この属性に関連付けられている推奨プレフィックスを取得します。Gets the recommended prefix associated with this attribute.

TypeId TypeId TypeId TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
XmlNamespace XmlNamespace XmlNamespace XmlNamespace

この属性に関連付けられている XAML 名前空間の識別子を取得します。Gets the XAML namespace identifier associated with this attribute.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

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

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

一連の名前を対応する一連のディスパッチ識別子に割り当てます。Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

適用対象

こちらもご覧ください