Thread.Join UI блок в WPF

Я создал кастомMessageWindow чтобы избавиться от старого и придать ему свой стиль ...

Моя проблема, когда я, например, нажимаю кнопку, чтобы открыть пользовательскийMessageWindow это действительно не блокирует мой пользовательский интерфейс.

public static void Show(string caption, string message)
{
    Thread thread = new Thread(() =>
    {
        MessageWindow window = new MessageWindow(caption, message);
        window.ShowDialog();
    });
    thread.SetApartmentState(ApartmentState.STA);
    thread.Start();
    thread.Join();
}

я думалthread.Join будет блокировать родительский поток, пока новый не исчезнет, но каким-то образом пользовательский интерфейс частично активен. Я не вижу анимации и не могу перемещать окно, но когда я нажимаю кнопку в заблокированном потоке, пока мойMessageWindow открыт, он все еще принимает щелчок и выполняет его после того, как я закрылMessageWindow нить.

Есть ли способзапрещать сообщение насос или заблокировать / заблокировать любые темы / пользовательский интерфейс, когда окно сообщений открыто?

Ответы на вопрос(2)

Ваш ответ на вопрос