Мой случай:
- MVVM
- ListView + Подробности (пользовательский UserControl)
- Список привязан к MV.Items (IsSynchronizedWithCurrent = true)
- Подробности привязаны к MV.Items.Current
- MV.Items.Count == 100
- около 0,2 с для считывания деталей (ленивый режим)
Когда я удерживаю стрелку вниз в списке, происходят очень странные вещи:
- Изменение порядка элементов списка
- текущие изменения в случайном порядке
- ЦП резко увеличивается
и в итоге все зависает.
Я прочитал какой-то пост о том, что нужно запускать таймер или запускать обработчик в фоновом режиме, но я не могу этого сделать, поскольку все связывающие WPF делают для меня.
Есть ли способ указать привязку в моем DetailsControl, чтобы подождать некоторое время, прежде чем принять CurrentItem?
Или я должен просто уйти из чистого решения и написать собственный код в моем MV, чтобы справиться с этим?