У меня есть проект WPF с DataGrid
, который привязан к коллекции Observable. Эта коллекция заполняется с использованием метода async, когда я вызываю этот асинхронный метод, пользователю отображается анимация с индикатором выполнения.WPF UI Замораживает при заполнении DataGrid
Хотя коллекция ждет данных все работает без задержек, но когда DataGrid
заполняемых себя с деталями, прогресс кольцо анимация перестает работать в течение 1 секунды или 2, пока DataGrid
загружает все записи (Эта коллекция может иметь 50 000 записей или более). Мне просто интересно, есть ли способ заблокировать анимацию, когда DataGrid
заполняет собой информацию, возвращенную из коллекции.
Установки: У меня есть основное окно со скрытым пользовательским элементом управления, которое отображает/скрывает анимацию, используя свойство с именем IsLoading. Когда этот элемент управления пользователя виден, он блокирует все пользовательские объекты за ним.
Кодекс
<Grid>
<local:LoadingOverlayView
DataContext="{Binding Assets}"
d:IsHidden ="True"
Visibility="{Binding IsLoading,
Converter={StaticResource BoolToVisibilityConverter},
UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
Вы попробуйте использовать другую тему для анимации? – Master117
Можете ли вы дать пример, как это сделать? –
Вам нужно использовать [BackGroundWorker] (https://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx), также пройти через это [Как использовать рабочий стол WPF] (http://stackoverflow.com/questions/5483565/how-to-use-wpf-background-worker) –