В моем приложении у меня есть окно WPF, в котором есть DataGrid
.В событии Window_Loaded
я получаю данные JSON с сервера и после десериализации и преобразования их в List<T>
связываю их с моей сеткой данных.Все работает нормально таким образом.
Проблема:
Но часть кода запроса требует времени, и все окно кажется белым без загруженных элементов, включая сетку данных. Я хочу сделать запросЧасть асинхронная, как и в AJAX, мы показываем изображение загрузчика, когда что-то загружается, и затем используем функцию обратного вызова, чтобы показать содержимое, когда оно загружается.
Пошагово
- Загрузить кнопки сетки данных окна и элементов и т.д ..
- Сделать веб-запрос к серверу и показать «данные загружаются ..» в метке, возможно.
- Запустить событиеили что-то, что уведомляет о том, что данные загружены, а затем привязывает сетку данных к списку, чтобы приложение оставалось отзывчивым и активным в течение всей части веб-запроса.
Вот текущий не асинхронный код, который я используюв обработчике событий Window_Loaded
WebResponse response = req.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader sr = new StreamReader(responseStream, Encoding.UTF8);
string JSON = sr.ReadToEnd();
List<MyObject> returnedData = JsonConvert.DeserializeObject<List<MyObject>>(JSON);
я нашел эту ссылку, но я не уверен, как она применима к моей проблеме.Любая помощь или идея, как это сделать, приветствуется.