これは、my previous questionのフォローアップの一部です。人々が私にMVVMの方向性を指摘しました。ViewModelにURIまたは文字列を含める必要がありますか?
私は、このフレームワークで作業がどこにあるのかを正確に理解しようとしています。私のビューには、ユーザがURIを入力するためのテキストボックスが含まれています。 URIが有効であるかどうかを確認し、それがある場合は、それを変換するコンバータとバリデータを使用して、私のViewModelにでUri
オブジェクトに
- バインド:
は、私の知る限り見るように、私は2つの選択肢があります。 ViewModelは有効な
Uri
またはDependencyProperty.UnsetValue
のいずれかで終了します。 (私はthisのようなコンバーター/バリデータを組み合わせたものを使用しています;この良いMVVMのプラクティスですか?) - 私のViewModelに
string
にバインドし、ViewModelのコードに必要な変換/検証を行います。 ViewModelにURI文字列が無効であることをビューに伝え、適切な検証エラーを表示するコードが何であるかは完全にはわかりません。
一般的に、MVVMフレームワークで無効なデータを処理する方法と場所についての質問があります。これは私がブラウズしてきたMVVMの基本的な紹介のいずれにも含まれていないようです。これをすべて私の心の中でまっすぐにすることにあなたの助けをありがとう:)。
ありがとうございました!あなたは "バリデーション・フレームワーク"のアイデアを精緻化できますか?今、私はちょうどそのタイプの各フィールドのバリデータ+コンバータクラスを作成すると思っています。人々が(MVVMなどで)使用する、より正式なフレームワークがありますか? – Domenic
入力要素にバリデーションルールを適用することができます。バリデーションフレームワークでは、そのロジックレイヤをどのように管理するのかということです。私は以前にWPFに組み込まれているものを拡張するオープンソースのフレームワークを使用しました...ここにリンクがあります。 http://www.codeplex.com/wpfvalidation –
**他にもオプションがあります。がんばろう –