以下の設定で検証を最適に実行する方法について質問があります。
私は小さなWPFベースのUIを持っています(WAFフレームワークを使用)。この特定のダイアログにはDecimalUpDown
、ユーザーが上/下矢印を使用するか、入力または貼り付けを使用して値を変更できるコントロール(これは、WPF拡張ツールキットからのものです)が含まれています。
有効な番号(形式と範囲)が指定されるまで、ユーザーは続行できません([次へ]ボタンを無効にする必要があります)。ユーザーは、このフィールドの値が続行を妨げないことにも注意する必要があります。 この検証を実行するにはどうすればよいですか?
私は非常に単純なビューモデルを持っています-それはfloat FooValue
プロパティ(上/下コントロールにバインドされている)をbool IsValid()
含み、親コンテナがバインドされている(Next
ボタンの有効な状態のために)を実装します。
他のいくつかのWebサイトが、セッターで例外をスローする必要があることを示唆していることに気付きました(例: http: //www.codeproject.com/Articles/15239/Validation-in-Windows-Presentation-Foundation)。私のプロパティはですので、ここではあまり意味がありませんfloat
。代わりに、数値の上下の「テキスト」値にバインドし、ビューモデルレベルで解析(および例外をスロー)する必要がありますか?