更改文化时wpf更新验证错误

Posted

技术标签:

【中文标题】更改文化时wpf更新验证错误【英文标题】:wpf update validation errors when changed culture 【发布时间】:2011-01-12 08:33:55 【问题描述】:

我有一个支持多语言的应用程序。 更改应用程序语言时,我可以通过访问每个标签和更改内容来刷新标签文本。 但是,我无法使用相关语言更改验证错误 (IDataErrorInfo) 文本。 有没有办法更新/刷新错误文本?

不是:我尝试获取绑定表达式并强制 UpdateTarget/UpdateSource 方法,它不起作用。

【问题讨论】:

【参考方案1】:

我们有一个包装 IDataErrorInfo 的包装类。使用这个类,可以设置SetFieldError(string fieldName, string error) 或SetBusinessRuleError(string error)。

这样,你可以让你的错误多语言:

SetFieldError("myField", Resources.MyErrorDescription);

当您将字符串移动到资源文件时,您只需设置当前文化,并确保该文化的资源文件的所有翻译都可用。

然后,对于字段(在本例中为“myField”)的 INotifyPropertyChanged,以便 WPF 引擎知道应该更新该属性。

【讨论】:

在运行时更改 ui 文化,如何更新指定文化的错误描述?

以上是关于更改文化时wpf更新验证错误的主要内容,如果未能解决你的问题,请参考以下文章

处理不同文化的验证的最佳方法是啥

检测 WPF 验证错误

WPF-验证-验证错误消息由于 AdornerDecorator 而落后于其他控件

WPF数据验证

如何在 WPF C# 中更改验证结果的字体大小

验证以查看表单是不是已更改