【发布时间】:2011-11-16 00:31:40
【问题描述】:
在我的 silverlight 4 MVVM 应用程序中,我可以在运行时切换语言:
public void SetLanguage(string language)
{
var culture = new CultureInfo(language);
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
// ...
}
对于输入,我只是添加了“ValidatesOnException=true”,以防出现转换问题,它就完成了工作。但是默认的异常消息是在我的操作系统的文化中,而不是在手动选择的文化中。
在exception message localization 上的这个线程中,我的想法是更改 CurrentCulture 和 CurrentUICulture,我这样做了。所以我有点卡住了。
我能做什么?
谢谢:)
编辑:我尝试在 convertback 方法中使用带有自定义异常的自定义转换器,以验证用户的输入。问题,convertback 方法中的异常不会被 validatesOnException 捕获,它会破坏应用程序。
编辑 2:澄清 -> 如果我有一个绑定到文本框的小数属性,并且我在这个文本框中输入“blabla”,我想看看有问题,我希望消息出现在运行时语言环境而不是操作系统语言环境。 我无法在我的属性设置器中引发异常,因为我从未到达那里,默认转换器在此之前引发了自己的异常。
我希望它很清楚。如果我可以帮助你帮助我,请不要犹豫:)
【问题讨论】:
标签: silverlight c#-4.0 silverlight-4.0 localization