x:Uid ディレクティブ
マークアップ要素の一意識別子を提供します。 多くのシナリオでは、この一意識別子は XAML ローカライズ プロセスとツールによって使用されます。
XAML 属性の使用法
<object x:Uid="identifier"... />
XAML 値
価値 | 形容 |
---|---|
identifier |
x:Uid コンシューマーによって解釈されるときに、ファイル内で一意である必要がある手動で作成または自動生成された文字列。 |
備考
[MS-XAML] では、x:Uid
はディレクティブとして定義されます。 詳細については、「[MS-XAML] セクション 7.3.6を参照してください。
x:Uid
は、指定された XAML ローカリゼーション シナリオと、ローカライズに使用される識別子が x:Name
のプログラミング モデルへの影響に依存しないため、x:Name
とは異なります。 また、x:Name
は XAML 名前スコープによって管理されます。ただし、x:Uid
は、XAML 言語で定義された一意性の適用の概念によって制御されません。 広い意味での XAML プロセッサ (ローカライズ プロセスの一部ではないプロセッサ) では、x:Uid
値の一意性は強制されません。 この責任は、概念的には値の発信元に対して行われます。 1 つの XAML ソース内での x:Uid
値の一意性の期待は、専用のグローバリゼーション プロセスやツールなどの値のコンシューマーにとって妥当です。 一般的な一意性モデルは、x:Uid
値が XAML を表す XML エンコード ファイル内で一意であるということです。
特定の XAML スキーマに関する重要な知識を持つツールは、マークアップでテキスト文字列値が検出されるすべての場合ではなく、実際のローカライズ可能な文字列に対してのみ x:Uid
を適用することを選択できます。
フレームワークでは、定義する型に属性 UidPropertyAttribute を適用することで、オブジェクト モデル内の特定のプロパティを x:Uid
のエイリアスとして指定できます。 フレームワークが特定のプロパティを指定する場合、同じオブジェクトに対して x:Uid
とエイリアス化されたメンバーの両方を指定することはできません。
x:Uid
とエイリアス化されたメンバーの両方が指定されている場合、.NET XAML Services API は通常、このケースの XamlDuplicateMemberException をスローします。
WPF の使用に関する注意事項
WPF ローカライズ プロセスおよび XAML の BAML 形式での
関連項目
- Uid
- UidManager
- WPF の
グローバリゼーション
.NET Desktop feedback