2013-07-18 18 views
5

WPF検証フレームワーク

  • WPFアプリケーション
  • MVVMパターン
  • はValidatableは(validatable)のviewmodelsのネストされたコレクションと
  • をのviewmodels(validatable)入れ子になったと
    • をのviewmodels
  • 検証エラーで無効になるWPFコントロール
    • viewmodels
    • には、IsValid-プロパティにビューでIsEnabledのバインド

は、任意の内蔵またはWPFのために利用できるサードパーティ製の検証フレームワークがあり、または私は自分でものを書くことがありますか? IDataErrorInfoにtryを渡しましたが、ネストされたビューモデルやコレクション全体の検証に失敗しました。

ありがとうございます!

答えて

5

extensive validationをサポートするフレームワークが必要な場合は、Catelが最適です。

また、親ビューモデルまたはユーザーコントロールに検証情報を伝達するNested User Controlsのアイデアでネストされた検証をサポートしています。

また、警告およびフィールドおよびビジネスロジックレベルでの動作をサポートしています。

フレームワークにはInfoBarMessageのコントロールがあり、検証情報を表示できるので、テンプレートを作成する必要はありません。

また、流暢なNHibernateまたはEntityフレームワークに似ていますが、検証のためにFluentの検証をサポートする拡張モジュールもあります。

+0

ありがとう、これは新しいプロジェクト、いいヒントのためにうまくいくと思います!既存のプロジェクト(viewmodels)にCastelを使用すると、すべてのViewModelがCatels ViewModelBaseを拡張するように書き直されます。 –

+0

@JonasW 'ViewModelBase'にはすべての検証ロジックが含まれているため、CatelがWPFエンジンに検証情報を送るためにシーンの裏で使用する' IDataErrorInfo'を実装していると思います。 –

関連する問題