在我的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方法中使用带有自定义异常的自定义转换器,以验证用户的输入.问题,转换方法中的异常不会被validatesOnException捕获,它会破坏应用程序.
编辑2:澄清 – >如果我有一个绑定到文本框的十进制属性,并在此文本框中输入“blabla”,我想看到有问题,我希望该消息在运行时区域设置而不是操作系统区域设置.
我不能在我的属性设置器中引发异常,因为我从未到达那里,默认转换器在此之前引发它自己的异常.
我希望它很清楚.如果我可以帮助你帮助我,请不要犹豫:)
解决方法
也许你不是在一开始就改变文化.
@H_404_43@