Отображение окна «Пожалуйста, подождите» на отдельном потоке
У меня есть метод, который экспортирует содержимое моегоDataGrid
кCSV
файл. Я пытаюсь отобразитьWindow
на нем есть анимация, чтобы попросить пользователя подождать.
Тем не менее, когда я показываюWindow
анимация зависает, поэтому я предположил, что это происходит из-за того, что метод excel работает в том же потоке, который он останавливает.
Что я пробовал до сих пор, так это;
var waitWindow = new PleaseWaitWindow();
var newWindowThread = new Thread(() =>
{
waitWindow.Show();
System.Windows.Threading.Dispatcher.Run();
});
newWindowThread.SetApartmentState(ApartmentState.STA);
newWindowThread.IsBackground = true;
newWindowThread.Start();
ExcelExport();
waitWindow.Close();
но это приводит к ошибке;
The calling thread cannot access this object because a different thread owns it.
Как запустить новый поток, чтобы анимация не зависала во время экспорта метода excel?