ValidationRule с выпуском индексатора - PullRequest
0 голосов
/ 09 сентября 2011

Наша компания использует индексаторы для нашей платформы, чтобы мы могли быстро привязать данные к окну, не создавая свойства для каждого источника данных. Поскольку WPF (в отличие от Silverlight?) Требует, чтобы вы использовали OnPropertyChanged («Item []») для обозначения изменения, все элементы, использующие индексатор, обновляются в пользовательском интерфейсе. Эта функциональность вызывает проблему, когда элемент управления использует и ValidationRule и обращается к данным через индексатор. Кажется, что при вызове OnPropertyChanged для свойства индексатора он обновляет данные элемента управления до того, что находится в источнике данных, когда возникает ошибка с элементом управления. Поскольку нет способа вызвать OnPropertyChanged для свойства индексатора со значением ключа, изменение другого элемента управления приводит к возврату того, что находится в элементе управления с ошибкой.

Мой вопрос таков: смог ли кто-нибудь одновременно использовать свойства индексатора и ValidationRule, чтобы элемент управления с ошибкой сохранял свою ошибку до тех пор, пока пользователь не исправит элемент управления?

Если нет, у кого-нибудь есть предложения? Нам нравится использовать свойство indexer, поскольку это делает настройку привязки намного быстрее, чем создание свойства для каждого поля данных (наши приложения сосредоточены вокруг CRUD).

1 Ответ

1 голос
/ 06 января 2012

Решение, которое было найдено, заключалось в реализации DynamicObject.Это позволило исключить использование индексатора и обойти проблему.

...