Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
qwertun
9 / 9 / 1
Регистрация: 22.12.2012
Сообщений: 492
1

Аналог WinForm-овского Invoke в WPF

31.07.2014, 14:51. Просмотров 1018. Ответов 4
Метки нет (Все метки)

Ну вобщем при исспользовании нескольких потоков для изменения содержания label-а на формах я писал
C#
1
Invoke(new Action(() => label1.Text = "ololotrololo"));
но в WPF такая штука не работает, погуглив нашёл непонятно шо, но не то что-бы хотелось. Помогите плз)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2014, 14:51
Ответы с готовыми решениями:

Переписывание приложения Winform в Wpf
Есть приложение на winform, хочется переписать его на wpf, но wpf вообще не знаю. В общем вопрос,...

В WinForms было Invoke. Есть ли альтернатива в WPF
привет переписываю приложения с вин формс для wpf не могу переписать строчку с Invoke, хелп? в...

Имеется winForm, как в нем использовать WPF?
Имеется winForm, как в нем использовать WPF? Объясните, пожалуйста, подробно. Хорошо бы с...

На WPF форме в канвас поместить работоспособную копию окна WinForm
Здравствуйте в общем у меня есть проект Win Form, в него я добавил WPF приложение -все работает...

Dispatcher.Invoke и delegate invoke, исправить ошибки в коде
привет не пойму почему второй код не работает? void bw_DoWork(object sender, DoWorkEventArgs e)...

4
MrCold
865 / 763 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
31.07.2014, 16:27 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
      private Thread myThread = null;
 
      private void Button_Click(object sender, RoutedEventArgs e)
      {
          if (myThread == null)
          {
              myThread = new Thread(new ThreadStart(ThreadFunction));
              myThread.IsBackground = true;
              myThread.Start();
          }
      }
 
      private void ThreadFunction()
      {
          for (int i = 0; i < 100000; i++)
          {
              Thread.Sleep(100);
 
              if (i % 2 == 0)
              
                  Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
                  {
                      label1.Content = i;
                  }));
              
              else
 
              Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
              {
                  label2.Content = i;
              }));
          }
      }
0
мяука
Заблокирован
31.07.2014, 18:55 3
Готовый проект
Изменение размера объекта из другого потока

Или можете вместо Thread взять BackgroundWorker.
Отображение процесса поключения к SQL Server
У него по идее ниже приоритет, поэтому при большой общей нагрузке на ЦП все равно выполняется прежде всего поток с GUI => интерфейс не тормозит. Но и сам BackgroundWorker скорее провиснет, чем Thread.
0
TooHot
71 / 60 / 26
Регистрация: 05.08.2014
Сообщений: 218
05.08.2014, 17:45 4
qwertun,
Ну вобщем при исспользовании нескольких потоков для изменения содержания label-а на формах я писал
Код C#
1
Invoke(new Action(() => label1.Text = "ololotrololo"));
но в WPF такая штука не работает, погуглив нашёл непонятно шо, но не то что-бы хотелось. Помогите плз)
в WPF есть для этого Dispatcher, то есть нужно писать так Dispatcher.Invoke или Dispatcher.BeginInvoke.
и умоляю, не надо городить огород, не нужны тут потоки.
0
а777мр
Заблокирован
05.08.2014, 22:12 5
TooHot,
не надо городить огород, не нужны тут потоки.
А что нужно? И откуда знаете, что не нужны, вы же не видели всего кода?
0
05.08.2014, 22:12
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2014, 22:12

Аналог AutoCheck на WPF
Здравствуйте. Возникла необходимость при повторном нажатии на выделенный RadioButton убрать...

Аналог Anchor в WPF
Добрый день, как установить textblock в интерфейсном окне , чтоб он подстраивался под изменение...

Аналог AutoScroll в WPF
Здравствуйте! У меня имеется программа с формой, написанная на C# WPF. На форме есть Label, куда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.