我按照https://learn.microsoft.com/en-us/windows/uwp/globalizing/put-ui-strings-into-resources中的说明创建了一个 .resw 文件。虽然本地化在运行时运行良好,但在设计时不会显示任何文本。
到目前为止提出的唯一解决方案似乎只适用于 Windows 8.1 应用程序:设计时的 Windows 应用商店应用程序 ResourceLoader
New Method您提到的解决方案也适用于 UWP 。并且更建议在设计时使用Data Binding 。
以下类的工作方式类似于 .resw 文件reader。如果您发送 key 参数,它将返回 key 的值。
public class LocalizedStrings
{
public string this[string key]
{
get
{
return ResourceLoader.GetForViewIndependentUse().GetString(key);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在使用绑定之前,您需要reader在 App.xaml 文件中实例化 。
<Application.Resources>
<ResourceDictionary>
<local:LocalizedStrings x:Key="Localized"/>
</ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
资源.resw
<data name="Title" xml:space="preserve">
<value>ResTitleTest</value>
</data>
Run Code Online (Sandbox Code Playgroud)
用法
<TextBlock Text="{Binding Source={StaticResource Localized}, Path=[Title]}" />
Run Code Online (Sandbox Code Playgroud)
Textblock注意:只有构建完成后,设计器中的内容才会显示。
| 归档时间: |
|
| 查看次数: |
2116 次 |
| 最近记录: |