您可以通过检索串码:
public static class ResourceRetriever
{
private static ResourceMap _resourceMap = null;
public static ResourceMap ResourceMap
{
get
{
if (_resourceMap == null)
{
_resourceMap= Windows.ApplicationModel.Resources.Core.ResourceManager.Current.MainResourceMap;
}
return _resourceMap;
}
}
public static string GetString(string key)
{
return ResourceMap?.GetValue("Resources/" + key, new ResourceContext())?.ValueAsString;
}
public static string GetString(string key, ResourceContext context)
{
return ResourceMap?.GetValue("Resources/"+key, context)?.ValueAsString;
}
}
添加到资源文件的参数,并使用的String.format:
var myText = ResourceRetriever.GetString("MyText"); //Hello {0}
myText = String.Format(myText, username);
所以在这种情况下,我不使用x: Uid机制将本地化的字符串放入控件中? – JustinM
是的,在这种情况下,您不要使用x:Uid –
这种丑陋,对于带参数和不带参数的字符串需要不同的方法。如果你可以使用字符串格式化程序和/或转换器进行数据绑定,那将会更好。所以在参数的情况下,我会使用数据绑定并将视图模型属性包含在绑定表达式中。但如果没有参数,我以某种方式绑定到RESW文件。 – JustinM