2011-09-09 14 views
0

当社はフレームワークにインデクサーを使用しているため、データソースごとにプロパティを作成することなく、データをウィンドウに素早くバインドできます。 WPF(Silverlightとは異なります)では、変更を示すためにOnPropertyChanged( "Item []")を使用する必要があるため、インデクサーを使用するすべてのアイテムがUIで更新されます。この機能は、コントロールがValidationRuleとインデクサーを通じてデータにアクセスするときに問題を引き起こします。 OnPropertyChangedをインデクサープロパティーとして呼び出すと、コントロールにエラーがあるときに、データソース内のデータをコントロールのデータを更新するように見えます。 OnPropertyChangedをキー値を持つインデクサープロパティーに呼び出す方法がないため、別のコントロールに変更を加えると、エラーのあるコントロールにあるものが元に戻ります。ValidationRule with Indexer Issue

私の質問は次のとおりです。ユーザーがコントロールを修正するまで、エラーのあるコントロールがエラーを残すように、インデクサーのプロパティとValidationRuleを一緒に使用できましたか?

もしそうでない場合は、誰にも提案はありますか?インデクサー・プロパティーを使用するのは、すべてのデータ・フィールド(アプリケーションはCRUDを中心にしています)用のプロパティーを作成するよりもはるかに迅速にバインドを設定できるためです。

答えて

1

発見された解決策は、DynamicObjectを実装することでした。これによりインデクサが使用されなくなり、問題が回避されました。