2009-07-13 8 views

答えて

1

私は、私は単にWPFはネイティブに提供するもの使用にこだわってきたように同じくらいで、完全な検証フレームワークを使用してないの経験から話すことができます。

私のプロジェクトでは、エンティティ/データクラスにIDataErrorインターフェイスを実装し、Linq-To-Sqlが観察する部分的な "OnValidate"メソッドを実装してから、エンティティクラスの静的/ IDataError.ItemsおよびOnValidationメソッドを実装するためのバックエンドロジックを提供する自家製のヘルパーを提供します。

次に、XAMLで説明されているすべてのバインディングにValidatesOnErrors = True、ValidatesOnExceptions = Trueを追加する場合です。最終的な結果は奨励されています - 無効なデータに対するビジュアルフィードバックを提供するWPFの能力は良好であり、検証を実装する努力は最小限です。

私はあなたのプロパティ設定ロジックからユーザー入力検証ロジックを分離したままにする傾向に従うことをお勧めします。 1つのプロパティの有効性は、別のプロパティの状態に依存することがあります。検証ロジックをプロパティ設定者の外に置くことで、個々のプロパティ設定者が値を入力することなく、エンドユーザーが有効な状態になる2つの値を入力できるアプリケーションを構築できます。

+0

私は問題がある、私はDataContext、任意のアイデアのプロパティの検証に応じて、そのIsEnabled小道具を設定するボタンがありますか? – Shimmy

0

軽量確認フレームワークに付属のWPF Application Framework (WAF)をご覧ください。

.NET FrameworkのSystem.ComponentModel.DataAnnotations検証フレームワークを再利用し、WPF Data BindingのIDataErrorInfoサポートと組み合わせて使用​​します。

関連する問題