2011-06-23 5 views
0

DataTableにバインドされたItemsSourceプロパティを持つWPF Toolkit DataGridがあります。 DataTableには、列の1つに固有の制約があります。列に一意でないデータを入力しようとすると、コードが届かない領域から例外がスローされ(悪い)、アプリケーションがクラッシュします。この例外を処理するにはどうすればよいですか?

この例外を処理してアプリケーションをクラッシュさせないようにするにはどうすればよいですか?

+1

いくつかのコードを表示してください。また、例外をキャッチしてcatchステートメントで何をしますか – Hasanain

+0

@ Hasanain、どのコードを見たいですか?いいえ、私は例外をキャッチしないが、私はしたい - したがって質問。 –

+0

あなたはあなたがソースを持たないライブラリ/ dllを持っていると仮定していますが、例外はあなたのコードにバブルしてしまいます。だから、あなたはどこで/どのようにdataTableを使用するかについてコードを表示することができます... – Hasanain

答えて

0

DataGridCellEditEndingイベントに一種の検証を追加してこの問題を回避しました。検証に失敗した場合は、e.Canceltrueに設定します。

この問題を修正するのは適切な方法ではありませんが、最終的な結果が得られます。

+0

これは実行可能な回避策です。 DataTableからオブジェクトデータに移動する場合は、データクラスを設定してIDataErrorInfoを実装し、それを使用して検証を実行できます。 WPFではこれを非常にうまく使用してエラーが発生した場合、フィールド/プロパティの編集方法に関する情報をユーザーに提供するためにコントロールを変更するValidationErrorTemplateアイテムを表示できます。チェックアウト – CodeWarrior

関連する問題