プロジェクトでMV-VMを実装し、の検証フレームワークの実装に関する助言を行っていますが、検証のために完全なフレームワーク(Oceanなど)部。MV-VMを使用したWPFの軽量検証フレームワーク
M-V-VMパターンではどのような検証フレームワークを推奨しますか?
プロジェクトでMV-VMを実装し、の検証フレームワークの実装に関する助言を行っていますが、検証のために完全なフレームワーク(Oceanなど)部。MV-VMを使用したWPFの軽量検証フレームワーク
M-V-VMパターンではどのような検証フレームワークを推奨しますか?
私は、私は単にWPFはネイティブに提供するもの使用にこだわってきたように同じくらいで、完全な検証フレームワークを使用してないの経験から話すことができます。
私のプロジェクトでは、エンティティ/データクラスにIDataErrorインターフェイスを実装し、Linq-To-Sqlが観察する部分的な "OnValidate"メソッドを実装してから、エンティティクラスの静的/ IDataError.ItemsおよびOnValidationメソッドを実装するためのバックエンドロジックを提供する自家製のヘルパーを提供します。
次に、XAMLで説明されているすべてのバインディングにValidatesOnErrors = True、ValidatesOnExceptions = Trueを追加する場合です。最終的な結果は奨励されています - 無効なデータに対するビジュアルフィードバックを提供するWPFの能力は良好であり、検証を実装する努力は最小限です。
私はあなたのプロパティ設定ロジックからユーザー入力検証ロジックを分離したままにする傾向に従うことをお勧めします。 1つのプロパティの有効性は、別のプロパティの状態に依存することがあります。検証ロジックをプロパティ設定者の外に置くことで、個々のプロパティ設定者が値を入力することなく、エンドユーザーが有効な状態になる2つの値を入力できるアプリケーションを構築できます。
軽量確認フレームワークに付属のWPF Application Framework (WAF)をご覧ください。
.NET FrameworkのSystem.ComponentModel.DataAnnotations検証フレームワークを再利用し、WPF Data BindingのIDataErrorInfoサポートと組み合わせて使用します。
私は問題がある、私はDataContext、任意のアイデアのプロパティの検証に応じて、そのIsEnabled小道具を設定するボタンがありますか? – Shimmy