4

MSDN でそのような質問を見ましたが、回答がありませんでした。したがって、x:Uid と *.resw ファイルの特定のキー形式を使用して、すべてのコントロールをローカライズできます。しかし、x:String をローカライズするにはどうすればよいでしょうか。たとえば、次のようになります。

<x:String x:Key="AppName">My App</x:String>

私はいくつかの回避策を知っています。しかし、良いアプローチはありますか?

4

2 に答える 2

3

今は無理のようです。x:Stringローカライズが想定されていない文字列 (アプリ名など) にのみ使用する必要があります。それ以外の場合は、TextBlockまたはその他のテキスト コントロールを使用することをお勧めします

于 2012-10-04T10:09:16.250 に答える
1

ここにそれを行うことに関するmsdnの投稿があります。その本質は次のようなものです。

<TextBlock x:Uid="MyTextBlock" FontSize="24.667" Text="Design Placeholder" />

x:Uidここで値に注意してください。これで、RESW ファイルのキーにマップされます。その開始キーを持つものには、プロパティがマージされます。そのため、キー名 MyTextBlock.Text と値 "Hello World" を使用して、RESW に "Text" のキーを含めることができ、ランタイムが代わりに置き換えを行います。

手順:

  1. x:Uidプロパティが定義されたテキストブロックを作成します。
  2. ローカリゼーションに適した名前の言語用の RESW ファイルを作成します
  3. RESW に文字列を追加して、テキストブロックのプロパティを置き換えます
于 2012-10-01T14:22:23.550 に答える