【发布时间】:2011-01-12 08:33:55
【问题描述】:
我有一个支持多语言的应用程序。
更改应用程序语言时,我可以通过访问每个标签和更改内容来刷新标签文本。
但是,我无法使用相关语言更改验证错误 (IDataErrorInfo) 文本。
有没有办法更新/刷新错误文本?
不是:我尝试获取绑定表达式并强制 UpdateTarget/UpdateSource 方法,它不起作用。
【问题讨论】:
标签: wpf validation culture
我有一个支持多语言的应用程序。
更改应用程序语言时,我可以通过访问每个标签和更改内容来刷新标签文本。
但是,我无法使用相关语言更改验证错误 (IDataErrorInfo) 文本。
有没有办法更新/刷新错误文本?
不是:我尝试获取绑定表达式并强制 UpdateTarget/UpdateSource 方法,它不起作用。
【问题讨论】:
标签: wpf validation culture
我们有一个包装 IDataErrorInfo 的包装类。使用这个类,可以设置SetFieldError(string fieldName, string error) 或SetBusinessRuleError(string error)。
这样,你可以让你的错误多语言:
SetFieldError("myField", Resources.MyErrorDescription);
当您将字符串移动到资源文件时,您只需设置当前文化,并确保该文化的资源文件的所有翻译都可用。
然后,对于字段(在本例中为“myField”)的 INotifyPropertyChanged,以便 WPF 引擎知道应该更新该属性。
【讨论】: