设计时的UWP资源字符串(.resw)

时间:2017-08-16 21:22:43

标签: uwp uwp-xaml

我按照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

1 个答案:

答案 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的内容才会显示在设计器中的位置。

enter image description here