0

(WPF c# 应用程序)。我有主窗口 UI 线程,我在代码的许多地方使用调度程序调用。从主线程我开始另一个线程。我尝试通过单击取消按钮立即中止线程。在取消按钮上单击我使用 Thread.abort() 来终止线程。但线程不会中止。我观察到调度程序调用正在等待并且 UI 没有响应。我想同步运行线程而不使用 begininvoke ..?

按钮取消事件在 A 类中,我们正在调用线程中止。

Threadx.abort();

当调用线程中止时,我们通过委托从线程调用自定义消息框

自定义消息框调用看起来像这样,属于 A 类

            this.Dispatcher.Invoke((Action)(() =>
            {

                    QMessageBox = new QatMessageBox(this);
                    result = QMessageBox.Show(messageBoxTest, messageBoxCaption, messageBoxButton, messageBoxImage);


            }));

自定义消息框看起来像这样并且在一个单独的类中

       public QatMessageBox(Window owner)
    {
        InitializeComponent();
        Owner = owner;
        this.DataContext = this;
    }
4

0 回答 0