2011-01-12 49 views
0

我有一個支持多語言的應用程序。
當應用程序語言發生變化時,我可以刷新標籤文本,訪問每個標籤並更改內容。
但是,我無法使用相關語言更改驗證錯誤(IDataErrorInfo)文本。
有沒有更新/刷新錯誤文本的方法?當文化改變時wpf更新驗證錯誤

不是:我嘗試獲取綁定表達式並強制UpdateTarget/UpdateSource方法,但沒有奏效。

回答

1

我們有一個包裝IDataErrorInfo的包裝類。有了這個類,就有可能SetFieldError(string fieldName,string error)或者SetBusinessRuleError(string error)。

這樣,您就可以讓你的錯誤,多語言:

SetFieldError( 「MyField的」,Resources.MyErrorDescription);

將字符串移動到資源文件時,只需設置當前文化,並確保該文化的資源文件的所有翻譯都可用。

然後,對於該字段的INotifyPropertyChanged(在本例中爲「myField」),以便WPF引擎知道該屬性應該更新。

+0

在運行時更改用戶界面文化,如何更新指定文化的錯誤描述? – pirimoglu 2011-01-12 13:18:27