如何在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();
    }

如何在WPF中更改特定变量的值时关闭窗口

不能通过DoWork处理程序关闭窗口,因为该事件是在后台线程上触发的。为RunWorkerCompleted添加一个处理程序,然后关闭那里的窗口。