WPF Datagrid: загрузка завершена? - PullRequest
3 голосов
/ 09 октября 2011

У меня есть Datagrid, и я делаю что-то вроде:

Me.Cursor = Wait
Datagrid.ItemsSource = GetData()
Me.Cursor = Nothing

Проблема заключается в том, что существует (относительно) большая задержка между установкой .ItemsSource и моментом, когда строки фактически отображаются.Поэтому мой курсор слишком рано сбрасывается в нормальное состояние.

Есть ли какое-то событие, которое возникает, когда сетка данных завершает загрузку / рендеринг данных?Я знаю, что есть событие _LoadingRow, но оно срабатывает во время загрузки данных, а не после завершения загрузки?

Ответы [ 2 ]

2 голосов
/ 31 мая 2017

У меня была такая же проблема (смотрите здесь ), и я решил ее, поместив этот код после того, как изменил ItemsSource:

Dispatcher.InvokeAsync(() => { System.Windows.Input.Mouse.OverrideCursor = null; }, 
       DispatcherPriority.ApplicationIdle);

В основном он ожидает, пока приложение не будет работать, прежде чем вернет курсор к значению по умолчанию. Использование события FrameworkElement.Loaded было недостаточно, потому что оно не возникало, когда я вносил изменения в ItemsSource, только при первой загрузке сетки данных.

0 голосов
/ 09 октября 2011

Вы можете взглянуть на методы BeginInit () и EndInit ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...