2011-01-12 8 views
0

多言語をサポートするアプリケーションがあります。
アプリケーション言語が変更されると、ラベルの各テキストにアクセスしてラベルテキストを更新し、内容を変更することができます。
しかし、検証エラー(IDataErrorInfo)のテキストを関連する言語で変更することはできません。
エラーテキストを更新/更新する方法はありますか?wpf update cultureが変更されたときの検証エラー

いいえ:バインディング式を取得して、UpdateTarget/UpdateSourceメソッドを強制しようとしましたが、機能しませんでした。

答えて

1

IDataErrorInfoをラップするラッパークラスがあります。このクラスでは、SetFieldError(string fieldName、string error)またはSetBusinessRuleError(string error)が可能です。

この方法では、あなたのエラーが多言語にすることができます。

SetFieldError( "myFieldで"、Resources.MyErrorDescription)。

文字列をリソースファイルに移動するときは、現在のカルチャを設定し、そのカルチャのリソースファイルのすべての翻訳が使用可能であることを確認するだけで済みます。

次に、フィールドのINotifyPropertyChanged(この場合は「myField」)のため、WPFエンジンはプロパティを更新する必要があることを認識します。

+0

実行時にuiカルチャを変更すると、指定したカルチャのエラー記述をどのように更新できますか? – pirimoglu

関連する問題