Мне нужно сделать какую-то проверку данных в разрабатываемом приложении WPF
Насколько я знаю, когда вы добавляете ValidatesOnDataErrors=True
в Binding, каждый раз, когда Binding разрешается (этокаждый раз, когда значение изменяется, это может быть при потере фокуса), механизм привязки проверяет источник привязки, через IDataErrorInfo
, получает доступ к интерфейсу, выясняет, есть ли какая-либо ошибка или нет.только с одной оговоркой.Для того чтобы данные были проверены, они должны быть обработаны.Если у вас есть ObservableCollection
этой сущности, связанной с ListBox
с VirtualizingStackPanel.IsVirtualizing=True
, проверяются только визуализированные элементы.Поскольку большинство элементов находятся вне области просмотра, они не отображаются.
Как я могу принудительно проверить каждый элемент?Удаление виртуализации пользовательского интерфейса не вариант.