Тема не прервана и ждет вызова диспетчера?

(Приложение WPF C#) . У меня есть поток пользовательского интерфейса mainwindow, где я использую диспетчерский вызов во многих местах кода. Из основного потока я начинаю другой поток. Я пытаюсь немедленно прервать тему, нажав кнопку отмены. При нажатии кнопки отмены я использую Thread.abort(), чтобы прекратить поток. Но нить не прерывается. Я заметил, что вызов диспетчера ожидает, а пользовательский интерфейс не отвечает. Я хочу запустить поток синхронно и не использовать 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;
    }

0 ответов

Другие вопросы по тегам