マークアップ要素の一意識別子を提供します。 ユニバーサル Windows プラットフォーム (UWP) XAML の場合、この一意識別子は、.resw リソース ファイルからのリソースの使用など、XAML ローカライズ プロセスとツールによって使用されます。
XAML 属性の使用方法
<object x:Uid="stringID".../>
XAML 値
任期 | Description |
---|---|
stringID | アプリ内の XAML 要素を一意に識別し、リソース ファイル内のリソース パスの一部となる文字列。 「解説」を参照してください。 |
注釈
x:Uid を使用して、XAML 内のオブジェクト要素を識別します。 通常、このオブジェクト要素は、UI に表示されるコントロール クラスまたはその他の要素のインスタンスです。 x:Uid で使用する文字列とリソース ファイルで使用する文字列の関係は、リソース ファイルの文字列が x:Uid の後にドット (.) が続き、ローカライズされる要素の特定のプロパティの名前が続くということです。 次の例を考えてみましょう。
<Button x:Uid="GoButton" Content="Go"/>
表示テキスト Go を置き換えるコンテンツを指定するには、リソース ファイルから取得される新しいリソースを指定する必要があります。 リソース ファイルには、"GoButton.Content" という名前のリソースのエントリが含まれている必要があります。 この場合のコンテンツは、Button クラスによって継承される特定のプロパティです。 また、このボタンの他のプロパティにローカライズされた値を指定することもできます。たとえば、"GoButton.FlowDirection" にリソースベースの値を指定できます。 x:Uid ファイルとリソース ファイルを一緒に使用する方法の詳細については、「UI とアプリ パッケージ マニフェストで文字列をローカライズする」を参照してください。
x:Uid 値に使用できる文字列の有効性は、リソース ファイルとリソース パスの識別子として有効な文字列によって、実際的な意味で制御されます。
x:Uid は、指定された XAML ローカリゼーション シナリオと、ローカライズに使用される識別子が x :Name のプログラミング モデルへの影響に依存しないため、 x:Name とは異なります。 また、 x:Name は XAML 名前スコープの概念によって制御されますが、 x:Uid の一意性はパッケージ リソース インデックス (PRI) システムによって制御されます。 詳細については、「MRT Core とリソース管理システムを使用したリソースの管理」を参照してください。
Windows ランタイム XAML には、 x:Uid の一意性に関する規則は、以前に使用されていた XAML を利用したテクノロジとは若干異なります。 ウィンドウ ランタイム XAML の場合、同じ x:Uid ID 値が複数の XAML 要素のディレクティブとして存在することは有効です。 ただし、リソース ファイル内のリソースを解決するときは、このような各要素が同じ解決ロジックを共有する必要があります。 また、プロジェクト内のすべての XAML ファイルは 、x:Uid 解決のために 1 つのリソース スコープを共有します。 x:Uid スコープが個々の XAML ファイルにアラインされるという概念はありません。
場合によっては、パッケージ リソース インデックス (PRI) システムの組み込み機能ではなく、リソース パスを使用することになります。 x:Uid 値として使用されるすべての文字列は、ms-resource://Resources/ で始まり、x:Uid 文字列を含むリソース パスを定義します。 リソースファイルで指定したプロパティの名前や、その他の指定された要素によって、パスが完了します。
Windows ランタイム XAML では許可されていないプロパティ要素に x:Uid を配置しないでください。
Windows developer