0

ご挨拶、

私は比較的 WPF に不慣れで、DataGrid コントロールの検証に関連する問題があります。私はこの記事 (http://msdn.microsoft.com/en-us/magazine/ff714593.aspx) を読みましたが、これには 3 つの異なる検証方法が記載されていますが、値の設定や呼び出しを防ぐ方法については触れていないようです。すべての検証が実行される前にコマンドを元に戻す/やり直す。

セルに正の数のみを入力できるようにしたい。セルに負の数値が含まれているかどうかを確認する検証ルールを設定し、DataGrid の CellEditEnding イベントを処理して、モデル レイヤーで使用される数値を実際にいつ変更するかを判断します。問題は、検証ルールの前に CellEditEnding が呼び出されることです。検証ルールが問題を検出するまでに、モデル内の数値は既に設定されています。必要なのは CellEditEnded ですが、このイベントは DataGrid の Silvelight バージョンにのみ存在するようです。

何か案は?

ありがとう

4

1 に答える 1

0

データグリッドは扱いが難しく、かなり複雑です。この場合、これがバインドされているプロパティの「セッター」を変更してみるかもしれないと思います。ユーザーが無効な値を入力した場合、例外をスローします。データグリッドは、無効なセルを検証エラー (赤い境界線) とともに表示することをサポートしているため、ユーザーはどのセル/行に問題があるかを確認できます。

理想的ではありませんが、うまくいくかもしれません。

于 2011-06-21T03:37:23.137 に答える