我按照https://docs.microsoft.com/en-us/windows/uwp/globalizing/put-ui-strings-into-resources上的说明创建了一个.resw文件。虽然本地化在运行时工作正常,但在设计时不会显示任何文本。
到目前为止,唯一提出的解决方案似乎只适用于Windows 8.1应用程序:Windows store app ResourceLoader at design time
答案 0 :(得分:1)
您提到的New Method
解决方案也适用于UWP。并且建议在设计时使用Data Binding。
以下类的工作方式类似于.resw文件reader
。如果发送key参数,它将返回key的值。
public class LocalizedStrings
{
public string this[string key]
{
get
{
return ResourceLoader.GetForViewIndependentUse().GetString(key);
}
}
}
在使用绑定之前,您需要在App.xaml文件中实例化reader
。
<Application.Resources>
<ResourceDictionary>
<local:LocalizedStrings x:Key="Localized"/>
</ResourceDictionary>
</Application.Resources>
Resources.resw
<data name="Title" xml:space="preserve">
<value>ResTitleTest</value>
</data>
<强>用法强>
<TextBlock Text="{Binding Source={StaticResource Localized}, Path=[Title]}" />
注意:只有在构建之后,Textblock
的内容才会显示在设计器中的位置。