Я хотел бы знать, как люди собираются проверять коллекции в WPF. Скажем, например, что у меня есть наблюдаемая коллекция ViewModels, которую я привязываю к элементам сетки, и пользователь может добавлять новые строки в сетку и должен заполнять их.
Прежде всего мне нужно проверить каждую строку, чтобы убедиться, что обязательные поля каждой ViewModel заполнены. Это удобно и просто для каждой строки.
Однако второй уровень проверки относится к коллекции в целом. Например, я хочу убедиться, что никакие две строки коллекции не имеют одинакового идентификатора или что две строки не имеют одинакового имени. Я в основном проверяю наличие дублирующих свойств в разных строках. У меня также есть более сложные условия, когда я должен убедиться, что в коллекции есть хотя бы один элемент, у которого есть некоторый набор свойств.
Как получить правило проверки, которое позволило бы мне проверить эти правила, проверяя всю коллекцию, а не отдельные элементы. Я также хочу напечатать любую ошибку проверки над сеткой данных, чтобы пользователь мог исправить проблему, и сообщение будет обновляться или исчезать, когда пользователь исправляет каждое другое правило.
У кого-нибудь есть опыт правильного способа сделать это?