Exibindo a janela Aguarde em um fio separado
Eu tenho um método que exporta o conteúdo do meuDataGrid
para umCSV
Arquivo. Estou tentando exibir umWindow
que tem uma animação para pedir ao usuário que aguarde.
No entanto, quando mostro oWindow
a animação congela, então presumi que isso ocorre porque, como o método excel está sendo executado no mesmo thread, congela.
O que eu tentei até agora é isso;
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();
mas isso leva a um erro;
The calling thread cannot access this object because a different thread owns it.
Como posso iniciar um novo thread para que a animação não congele enquanto o método do Excel está exportando?