Bezdepbonusu7Программирование: статьи и ответы

Вопрос

ValidationRule с проблемой индексатора

Автор вопроса: cbart387Ответов: 1

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

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

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

validationwpfindexer

Ответы

Ответ 1 · рейтинг 1 · cbart387

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы