Silverlight ValidatesOnException默认消息本地化

Max*_*AMM 7 silverlight localization silverlight-4.0 c#-4.0

在我的silverlight 4 MVVM应用程序中,我可以在运行时切换语言:

public void SetLanguage(string language)
{
    var culture = new CultureInfo(language);
    Thread.CurrentThread.CurrentUICulture = culture;
    Thread.CurrentThread.CurrentCulture = culture;
    // ...
}
Run Code Online (Sandbox Code Playgroud)

对于输入,我只是在转换问题的情况下添加了"ValidatesOnException = true"并且它完成了工作.但默认的异常消息是在我的操作系统文化中,而不是在手动选择的消息中.

在这个关于异常消息本地化的线程中,想法是改变CurrentCulture和CurrentUICulture,我做了.所以我有点卡住了.

我能做什么 ?

谢谢 :)

编辑:我试图在convertback方法中使用带有自定义异常的自定义转换器,以验证用户的输入.问题,转换方法中的异常不会被validatesOnException捕获,它会破坏应用程序.

编辑2:澄清 - >如果我有一个十进制属性绑定到一个文本框,我在这个文本框中输入"blabla",我想看到有一个问题,我希望该消息在运行时区域设置和不是操作系统区域设置.我不能在我的属性设置器中引发异常,因为我从未到达那里,默认转换器在此之前引发它自己的异常.

我希望它很清楚.如果我可以帮助你帮助我,请不要犹豫:)

Mam*_*a D 0

也许你一开始就没有改变文化。

我建议您尝试此链接中第一个答案中给出的方法:

改变 Silverlight 应用程序的文化