0

以下の設定で検証を最適に実行する方法について質問があります。

私は小さなWPFベースのUIを持っています(WAFフレームワークを使用)。この特定のダイアログにはDecimalUpDown、ユーザーが上/下矢印を使用するか、入力または貼り付けを使用して値を変更できるコントロール(これは、WPF拡張ツールキットからのものです)が含まれています。

有効な番号(形式と範囲)が指定されるまで、ユーザーは続行できません([次へ]ボタンを無効にする必要があります)。ユーザーは、このフィールドの値が続行を妨げないことにも注意する必要があります。 この検証を実行するにはどうすればよいですか?

私は非常に単純なビューモデルを持っています-それはfloat FooValueプロパティ(上/下コントロールにバインドされている)をbool IsValid()含み、親コンテナがバインドされている(Nextボタンの有効な状態のために)を実装します。

ここに画像の説明を入力してください

他のいくつかのWebサイトが、セッターで例外をスローする必要があることを示唆していることに気付きました(例: http: //www.codeproject.com/Articles/15239/Validation-in-Windows-Presentation-Foundation)。私のプロパティはですので、ここではあまり意味がありませんfloat。代わりに、数値の上下の「テキスト」値にバインドし、ビューモデルレベルで解析(および例外をスロー)する必要がありますか?

4

1 に答える 1

0

waf.codeplex.com には、実際にデータ入力の検証を行う方法を示す例があります - http://www.codeplex.com/Download?ProjectName=waf&DownloadId=282750。フレームワークのソースコードに含まれる BookLibrary サンプルアプリを使用しています。

基本的に、プロパティでデータ注釈を使用ValidatesOnDataErrors=trueし、XAML 要素で属性を使用します。

于 2012-07-05T21:14:04.313 に答える