如何在WPF中更改特定变量的值时关闭窗口
本文关键字:变量 窗口 WPF | 更新日期: 2023-09-27 18:30:05
我通过window1
打开loadingWindow
。我还有一个在window1
(父窗口)中运行的异步线程,它将在某个时刻更改特定变量的值。当值更改时,我想关闭loadingWindow
(子窗口)。
用户单击浏览按钮并选择一个文件,一旦打开对话框关闭,程序将在用户不知情的情况下开始异步导入该文件。当用户单击下一步时,文件的某些部分已经加载,并且将显示loadingWin
。装载完成后,需要将其关闭。
private void E2KNext_OnClick(object sender, RoutedEventArgs e)
{
loadingWin = new LoadingWindow();
loadingWin.ShowDialog();
}
private void E2KBrowse_OnClick(object sender, RoutedEventArgs e)
{
worker.DoWork += WorkerDoWork;
worker.RunWorkerAsync();
}
private void WorkerDoWork(object sender, DoWorkEventArgs e)
{
// Some operations will be done here, when it is finished,
// the loadingWindow will be closed
loadingWin.Close();
}
不能通过DoWork
处理程序关闭窗口,因为该事件是在后台线程上触发的。为RunWorkerCompleted
添加一个处理程序,然后关闭那里的窗口。