我在ILSpy中打开了mscorlib,我在资源文件夹中看到了:
Name, Value
[Format_InvalidString, Input string was not in a correct format.]
有没有办法本地化这个字符串?
(上下文:每当输入错误的数字时,silverlight应用程序都会抛出此消息,并且更改此操作比编写转换器并将其应用于数百个地方要容易得多。
答案 0 :(得分:0)
Silverlight使用附属程序集进行本地化。您可以在Silverlight安装位置查看这些内容。在我的机器上,我已经在C:\ Program Files(x86)\ Microsoft Silverlight \ 5.1.20125.0中安装了Silverlight 5.如果需要,请调整版本号。
请注意许多具有2个字母名称的子目录,“ar”是阿拉伯语的子目录。查看该目录,请注意那里的mscorlib.resources.dll文件。这是包含本地化字符串的附属程序集,包括异常消息字符串。该特定目录中的阿拉伯字符串。
并将自动显示在用户选择阿拉伯语作为首选语言的计算机上。你没必要帮忙。
答案 1 :(得分:0)
唯一有效的解决方案是:
public partial class MyEntity
{
public string MyField_string
{
get
{
return MyField.ToString();
}
set
{
decimal res = 0;
var b = Decimal.TryParse(value, out res);
if (!b)
throw new ArgumentException("Localized message");
else
this.MyField = Math.Round(res, 2);
}
}
partial void OnMyFieldChanged()
{
RaisePropertyChanged("MyField_string");
}
}
然后绑定到MyField_string
而不是MyField
。