(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;
}