Visualización de la ventana de espera en un hilo separado
Tengo un método que exporta el contenido de miDataGrid
a unCSV
archivo. Estoy tratando de mostrar unWindow
que tiene una animación para pedirle al usuario que espere.
Sin embargo, cuando muestro elWindow
la animación se congela, así que supuse que esto se debe a que el método de Excel se ejecuta en el mismo hilo que se congela.
Lo que he intentado hasta ahora es esto;
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();
pero esto lleva a un error;
The calling thread cannot access this object because a different thread owns it.
¿Cómo puedo comenzar un nuevo hilo para que la animación no se congele mientras se exporta el método de Excel?