0

私はSilverlightWebアプリを開発していますが、現在の問題で立ち往生しています。

別のフィールドに値を入力した場合にのみ、フィールドを必須にすることはできますか?たとえば、車を保存するためのDataFormがあるとします。ドロップダウンリストから車種(SUV、コンパクト、スポーツカー)を選択した場合を除き、車種のみが必要です。ドアの数も入力する必要があります。

明確にするために:

名前-必須

エンジンタイプ-不要

タイヤ-不要

車種-不要

ドアの数-車種が選択されている場合にのみ必要

どうやってやるの?

編集:下部にエラーメッセージを表示し、必要なコントロールを強調表示できるようにしたいと思います

4

1 に答える 1

0

エンティティレベルの検証と呼ばれる必要があります。1つのプロパティを検証する代わりに、オブジェクト全体を検証する必要があります。

これを行うには、INotifyDataErrorInfoを実装する必要があります。バッキングオブジェクトよりも、CarTypeのプロパティセッターを処理する必要があります。変更すると、NumberOfDoorsのエラーが発生します(設定されていない場合)。同じことですが、NumberOfDoorsが設定されている場合は、そのエラーを手動でクリアする必要があります。

ここでは、これがどのように行われるかについてのいくつかの良い例を見ることができます:http ://www.silverlight.net/learn/data-networking/validation/implementing-data-validation-in-silverlight-with-inotifydataerrorinfo

また、補足として、より高度なシナリオが必要な場合は、すぐにDataFormの機能を最大限に活用できます。

于 2011-10-04T14:56:17.040 に答える