Приложение WPF Core. На форме указан DataContext, для контролов прописаны Binding (в XAML). Есть сторонний контрол (DevExpress) загрузка данных в который идет не очень быстро.
Есть кнопка <Button x:Name="Filter" Command="{Binding RefreshSourcePropertyCommand}" Click="Filter_Click" >Пересчет</Button>
Вопрос — как на время, пока ведется обновление данных для страницы вывести для пользователя какое-либо уведомление "Ожидайте" и по окончанию обновления его убрать?
Попытка решить в лоб, типа Filter_Click... { lblWait.Content = "Ожидайте"; } не работает, потому что надпись на форму выводится когда обновление страницы уже закончилось.
Здравствуйте, CyberRussia, Вы писали:
CR>Добрый день,
CR>Приложение WPF Core. На форме указан DataContext, для контролов прописаны Binding (в XAML). Есть сторонний контрол (DevExpress) загрузка данных в который идет не очень быстро. CR>Есть кнопка <Button x:Name="Filter" Command="{Binding RefreshSourcePropertyCommand}" Click="Filter_Click" >Пересчет</Button>
CR>Вопрос — как на время, пока ведется обновление данных для страницы вывести для пользователя какое-либо уведомление "Ожидайте" и по окончанию обновления его убрать?
CR>Попытка решить в лоб, типа Filter_Click... { lblWait.Content = "Ожидайте"; } не работает, потому что надпись на форму выводится когда обновление страницы уже закончилось.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, okon, Вы писали: O>IsWaiting = true; O>await LongOperationAsync();
Так нет никакого LongOperationAsync. Код страницы пустой, все на Binding в XAML сделано
Здравствуйте, CyberRussia, Вы писали:
CR>Здравствуйте, okon, Вы писали: O>>IsWaiting = true; O>>await LongOperationAsync(); CR>Так нет никакого LongOperationAsync. Код страницы пустой, все на Binding в XAML сделано
Как нет, а вот эта команда RefreshSourcePropertyCommand, она реализована во вьюмодели и там выполняется какая-то долгая операция.
P.S. не обязательно конечно во вьюмодели — может быть и RoutedCommand, или например у тебя ItemsSource таблицы биндится на источник данный который должен как-то пересчитываться чтобы данные обновились — вот это и будет твой LongOperation.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов