Я реализовал простые ванильные приложения MVVM. У меня есть сетка данных, привязанная к ObservableCollection
. Когда база данных обновляется, коллекция обновляется, OnPropertyChanged
запускается правильно, но есть задержка, прежде чем пользовательский интерфейс обновляется должным образом. Я могу сказать это, потому что когда я отлаживаю, я вижу, что между моментом запуска OnPropertyChanged
и вызовом метода доступа get
для ObservableCollection
есть несколько секунд. Задержка, по-видимому, не коррелирует с количеством рядов (т. Е. 5 или 50 строк, кажется, что имеется одинаковое запаздывание).
Где я могу узнать, откуда взялась эта задержка?
Код:
Это просто ванильный MVVM, следовательно:
private ObservableCollection<MyVar> _MyVars;
/// <summary>
/// List of pnl
/// </summary>
public ObservableCollection<MyVar> MyVars
{
get
{
return _MyVars;
}
set
{
_MyVars = value;
OnPropertyChanged("MyVars");
}
}
ObservableCollection
MyVars
устанавливается при обращении к базе данных. По сути, происходит разрыв между звонком на OnPropertyChanged("MyVars");
и звонком на return _MyVars;
. MyVars
является источником элементов для сетки данных.
Как при выпуске, так и при отладке, для обновления сетки данных требуется несколько секунд, и я обнаружил, что между двумя вызовами, о которых я упоминал выше, возникает задержка. Я не могу поместить больше кода, чем это, мне просто интересно, если у кого-то была такая же ситуация и какой путь он / она выбрал для отладки и решения проблемы.
Спасибо
Pierre