言語、スケール、ハイ コントラストに合わせたタイルとトースト通知のサポート

タイルやトーストで、表示言語、表示倍率、ハイ コントラスト、その他の実行時のコンテキストに合わせた文字列や画像を読み込むことができます。 リソース ファイルの名前に修飾子を使用する方法の詳細については、「言語、スケール、その他の修飾子用にリソースを調整する」と「アプリのアイコンとロゴ」をご覧ください。

アプリのローカライズの価値提案の詳細については、「グローバリゼーションとローカライズ」をご覧ください。

テンプレートから文字列リソースを参照する

タイルまたはトースト テンプレートで、ms-resource という URI (Uniform Resource Identifier) スキームに単純な文字列リソース識別子を続けて指定することにより、文字列リソースを参照できます。 たとえば、"Farewell" という名前のリソース エントリが含まれた Resources.resx ファイルがあれば、"Farewell" という識別子の文字列リソースがあります。 文字列リソース識別子とリソース ファイル (.resw) について詳しくは、「UI とアプリ パッケージ マニフェスト内の文字列をローカライズする」をご覧ください。

以下は、ms-resource を使用して "Farewell" 文字列リソース識別子への参照によってテンプレート コンテンツのテキスト本文を参照する方法を示しています。

<text id="1">ms-resource:Farewell</text>

URI スキームを ms-resource 省略した場合、テキスト本文は単なる文字列リテラルであり、識別子への参照 ではありません

<text id="1">Farewell</text>

テンプレートから画像リソースを参照する

タイルまたはトースト テンプレートで、ms-appx という URI (Uniform Resource Identifier) スキームに画像リソースの名前を続けて指定することにより、画像リソースを参照できます。 これは、XAML マークアップで画像リソースを参照する場合と同じ方法です (詳しくは、「XAML マークアップとコードから画像やその他のアセットを参照する」をご覧ください)。

たとえば、フォルダーに次のような名前を付けたとします。

\Assets\Images\contrast-standard\welcome.png
\Assets\Images\contrast-high\welcome.png

この場合の画像リソースは 1 つで、名前 (絶対パス) は /Assets/Images/welcome.png です。 この名前をテンプレートで使用する方法は次のとおりです。

<image id="1" src="ms-appx:///Assets/Images/welcome.png"/>

この例の URI で、スキーム ("ms-appx") の後に "://" が続き、その後に絶対パスが続くことに注意してください (絶対パスは "/" から始まる部分です)。

クラウド内の画像のホスティングと読み込み

URI スキーム ms-resource および ms-appx が自動で修飾子の照合を実行して、現在のコンテキストに最も適切なリソースを見つけます。 Web URI スキーム (httphttpsftp など) では、このような自動的な照合が実行されません。

代わりとして、画像の URI には、要求された修飾子の 1 つ以上の値を記述したクエリ文字列を追加します。

<image id="1" src="http://www.contoso.com/Assets/Images/welcome.png?ms-lang=en-US"/>

次に、画像を提供するアプリ サービスに、どの画像を返すか決定するためのクエリ文字列を調べて使用する HTTP ハンドラーを実装します。

また、タイルまたはトースト通知の XML ペイロードで addImageQuery 属性を true に設定する必要があります。 addImageQuery 属性は、タイルとトーストの両方のスキーマの visual 要素、binding 要素、image 要素にあります。 要素に addImageQuery を明示的に設定すると、祖先に設定された値が上書きされます。 たとえば、要素の addImageQuerytrueimage、親binding要素の の addImageQuery をfalseオーバーライドします。

使用できるクエリ文字列は次のとおりです。

修飾子 クエリ文字列
スケール ms-scale ?ms-scale=400
言語 ms-lang ?ms-lang=en-US
この例を、 ms-contrast ?ms-contrast=high

クエリ文字列で使用可能な修飾子の値を網羅したリファレンス テーブルについては、「ResourceContext.QualifierValues」をご覧ください。

重要な API