我希望在关闭基于MVVM的WPF应用程序时同步执行一系列操作。
目前,我正在使用任务和在任务中使用
问题是当我在
那么,在关闭应用程序的事件中使用
目前,我正在使用任务和在任务中使用
Dispatcher.Invoke
来向用户显示消息。问题是当我在
myfunction
函数中使用Dispatcher.Invoke
方法时,应用程序会卡在那里。我知道这个函数在使用除关闭事件以外的其他函数时正常工作。那么,在关闭应用程序的事件中使用
Dispatcher.Invoke
方法是否有问题?我该如何解决这个问题?/// <summary>
/// Main window closing
/// </summary>
private void MainWindowClosing(object args)
{
var task1 = System.Threading.Tasks.Task.Factory.StartNew(() =>
{
myfunction();
}).ContinueWith((cc) => { });
task1.Wait();
}
private void myfunction()
{
//my serries of operation will come here.
System.Windows.Application.Current.Dispatcher.Invoke(new Action(() =>
{
MessageBox.Show("test");
}));
}