2011-08-15 5 views
0

DataGridは、一連のパーツにバインドされています。 Partのプロパティの1つはQuantity、整数で、DataGrid内のテキストボックスの1つはこの数量フィールドにバインドされています。ユーザーがこのボックスに何らかのガベージ・データを入力すると(非整数の場合)、検証が実行され、ボックスが赤で強調表示され、行エラー・メッセージが表示されます。データグリッドがその状態にあるとき、私は "保存"ボタンを無効にしたいが、私はこの情報を得る方法を考え出すことができない。 codebehindのValidation.GetHasErrorはfalseを返し、数量フィールドはviewmodelに0を表示します。これどうやってするの?WPF DataGridのエラー状態を確認します。

答えて

0

私はそのような場合に私のviewmodelでwrapperpropertyとIDataErrorInfoを使用します。整数プロパティがあり、wpf cantが入力を整数に変換すると、BindingErrorExceptionが発生し、viewmodelに決してぶつかりません。

public string MyQuantity {get ... set ...} 

あなたは、簡単にあなたのviewmodelにIDataErroInfoのErrorプロパティを確認するようにCanSaveCommandExecuteメソッドを使用することができます。これの利点は、あなたがすべての情報とコントロールをあなたのビューモデルに持っていることです。

+0

これは本当に好きではありませんが、機能します。ありがとう。 – drowned

関連する問題