Re[2]: [WPF] Модальное окно со своим UI потоком
От: Sheph http://www.focusmedia.ru
Дата: 25.10.07 17:28
Оценка:
Здравствуйте, Лекс, Вы писали:

Л>Здравствуйте, Sheph, Вы писали:


S>>Всем доброго времени суток, такая задача, показать модальное окно так чтобы у него был свой UI поток. Причём управление должно сразу же вернуться, после того как такой диалог будет создан. Пытаюсь сделать это так:

S>>
S>>    public void ShowModalDialogAndContinue()
S>>    {
S>>      blockingThread = new Thread( BlockingWindowThread );
S>>      blockingThread.SetApartmentState( ApartmentState.STA );
S>>      blockingThread.Start();
S>>    }

S>>    private void BlockingWindowThread()
S>>    {
S>>      var window = new BlockingWindow();

S>>      //window.Owner = mainWindow; - если раскомментировать, то кидается исключение, т.к mainWindow пренадлежит другому потоку
S>>      window.ShowDialog();
S>>    }
S>>

S>>Если раскомментировать закомментированную строчку, то вывалится исключение, что вполне естественно, ведь mainWindow — главное окно, которое должно блокироваться моим модальным диалогом, было создано в другом потоке. Вопрос — как назначить mainWindow владельцем BlockingWindow ? Может быть как-то черех mainWindow.Dispatcher ? Если можно через него, то как ?

Л>mainWindow.Invoke


Ааа, всё, понял, надо диалог создать в отдельной функции, и её запланировать через Invoke, спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.