Как выполнить код в потоке GUI?

У меня есть FileSystemWatcher, который реагирует на событие Changed.

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

Вот фрагмент кода:

       txtLog.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)delegate() {
            this.txtLog.Text = dataToDisplay;
            extendedNotifyIcon_OnShowWindow();
            Thread threadToClosePopup = new Thread(new ThreadStart((Action)delegate() { 
                Thread.Sleep(1000); 

                extendedNotifyIcon_OnHideWindow();
       }));
            threadToClosePopup.Start();
        });

Как видите, я использую Invoke для установки текста, потому что событие находится в другом потоке (FileSystemWatcher). Но чтобы скрыть окна, extendedNotifyIcon_OnHideWindow () не выполняется в потоке графического интерфейса. Как я могу выполнить это в потоке GUI?

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

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