当社はフレームワークにインデクサーを使用しているため、データ ソースごとにプロパティを作成しなくても、データをウィンドウにすばやくバインドできます。WPF では (Silverlight とは異なりますか?) OnPropertyChanged("Item[]") を使用して変更を示す必要があるため、インデクサーを使用するすべての項目が UI で更新されます。この機能は、コントロールが ValidationRule を使用し、インデクサーを介してデータにアクセスする場合に問題を引き起こします。インデクサー プロパティの OnPropertyChanged を呼び出すと、コントロールにエラーが発生したときに、コントロールのデータがデータ ソースの内容に更新されるようです。キー値を持つインデクサー プロパティに対して OnPropertyChanged を呼び出す方法がないため、別のコントロールを変更すると、エラーのあるコントロールの内容が元に戻ります。
私の質問は、ユーザーがコントロールを修正するまで、エラーのあるコントロールがそのエラーを保持するように、インデクサー プロパティと ValidationRule の両方を一緒に使用できた人はいますか?
そうでない場合、誰か提案はありますか?これにより、データ フィールドごとにプロパティを作成するよりもバインドの設定がはるかに高速になるため、インデクサー プロパティを使用するのが好きです (私たちのアプリケーションは CRUD を中心にしています)。