Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF MultiThreading in UI / 6 сообщений из 6, страница 1 из 1
09.04.2014, 13:19
    #38609788
bdm77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF MultiThreading in UI
Добрый день!

У меня стоит следующая задача: из главного окна вызвать в нововое окно, которое бы работало паралейно и по завершению послылала бы событие в главное окно!! Использовал new Thread и BackgroundWorker , но все равно Exception когда я пытаюсь вызавть метод my_var.ShowDialog() ;

если использую BackgroundWorker , Exception - "The calling thread must be STA, because many UI components require this"
если использую ThreadStart, Exception - "The calling thread cannot access this object because a different thread owns it"

Спасибо за помощь!
...
Рейтинг: 0 / 0
09.04.2014, 14:27
    #38609938
netivan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF MultiThreading in UI
bdm77,

все говорит об одном - вы пытаетесь посла сообщение форме (читай UI) из не GUI- потока.
Совет - используйте task с опцией синхронизации в ГУЕ(где-то тут я постил пример) ну или Dispatcher.CheckAccess. По этим словам в гугле найдете 1000 примеров.
...
Рейтинг: 0 / 0
09.04.2014, 14:39
    #38609968
@k@DElpher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF MultiThreading in UI
bdm77,

А почему не вызвать новое окно через newWindow.Show();
Там при его загрузке начать параллельное действо.
Ну или
newWindow.Show();
newWindow.StartSomthingParallel();

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 
StartSomthingParallel(){
var task = new Task(() =>
            {
                Thread.Sleep(2000);
                button1.Dispatcher.BeginInvoke(new Action(() => button1.Content = "ДействоЗавершено"));
            });
           
            task.Start();
}



Или нужно именно модальное окно(чтоб первое блокировалось).
...
Рейтинг: 0 / 0
10.04.2014, 19:10
    #38611730
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF MultiThreading in UI
...
Рейтинг: 0 / 0
10.04.2014, 19:11
    #38611731
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF MultiThreading in UI
user7320 Может, поможет.
Там предлагается использовать MVVM Light для простоты.
...
Рейтинг: 0 / 0
21.08.2014, 11:04
    #38725292
bdm77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF MultiThreading in UI
user7320, спасибо!!
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF MultiThreading in UI / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]