1

単純なビューとビューモデルがあり、後者はIDdataErrorInfoとIValidationExceptionHandlerを実装しています。ビューには、ItemsSourceがコレクションにバインドされ、SelectedValueがプロパティにバインドされたコンボボックスが含まれています。データエラーと例外を検証します。プロパティの更新が変更され、ソースが更新されたことを通知します。

私はデータ注釈を使用しており、プロパティはRequired属性とRange属性で「装飾」されており、ビューを実行すると、コンボボックスにエラーアドナーとRequired属性に指定したメッセージが表示されると期待していました。ただし、装飾者にカーソルを合わせると、代わりに「値""を変換できませんでした」というメッセージが表示されます。

プロパティのゲッターで選択した値を確認し、値が選択されていないことがわかった場合は、メッセージとともにValidationResultを返す必要がありますか?Required属性を使用するだけでうまくいくと思いましたが、コンボボックスでは機能しないようです。

どんな助けでも大歓迎です。

4

1 に答える 1

2

これは通常、SelectedValueが表すタイプのデフォルト値のコンボボックスに表す項目がない場合に発生します。

バインドされた選択値プロパティが文字列であると仮定すると、string.emptyのデフォルト値を表すアイテムが(ItemsSourceに)存在する必要があります。

したがって、(おそらく)エラーは値""を変換できませんでした

これが役立つかどうか教えてください。

于 2011-07-30T15:12:03.540 に答える