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 文件中的键。任何具有该起始键的东西都会将属性合并到其中。因此,我们可以在 RESW 中使用键名 MyTextBlock.Text 为“Text”创建一个键,其值为“Hello World”,运行时将为您进行替换。

脚步:

  1. 创建一个x:Uid定义了属性的文本块。
  2. 为您的语言创建一个以您的本地化命名的 RESW 文件
  3. 将字符串添加到 RESW 以替换文本块中的属性
于 2012-10-01T14:22:23.550 回答