我在 MSDN 上看到过这样的问题,但没有得到解答。所以我可以使用 x:Uid 和 *.resw 文件中的特定键格式本地化我的所有控件。但是如何本地化 x:String?例如这个:
<x:String x:Key="AppName">My App</x:String>
我知道一些解决方法。但是有什么好的方法吗?
我在 MSDN 上看到过这样的问题,但没有得到解答。所以我可以使用 x:Uid 和 *.resw 文件中的特定键格式本地化我的所有控件。但是如何本地化 x:String?例如这个:
<x:String x:Key="AppName">My App</x:String>
我知道一些解决方法。但是有什么好的方法吗?
现在看来是不可能了。应该x:String
只用于不应该被本地化的字符串(例如应用程序名称)。否则,TextBlock
首选使用或其他一些文本控件
这里有一篇关于这样做的 msdn 帖子。它的本质是这样的:
<TextBlock x:Uid="MyTextBlock" FontSize="24.667" Text="Design Placeholder" />
注意
x:Uid
这里的值。这现在映射回您的 RESW 文件中的键。任何具有该起始键的东西都会将属性合并到其中。因此,我们可以在 RESW 中使用键名 MyTextBlock.Text 为“Text”创建一个键,其值为“Hello World”,运行时将为您进行替换。
脚步:
x:Uid
定义了属性的文本块。