• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C#/WPF Dispatcher.Invoke()

VPS Starter Arubacloud
0 głosów
1,591 wizyt
pytanie zadane 15 kwietnia 2017 w Rozwój zawodowy, nauka, praca przez dasad33 Użytkownik (710 p.)
Co dokładnie robi Dispatacher.Invoke()? Nie za bardzo rozumiem jego działanie.

 Thread t;
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            t = new Thread(Counting);
            t.Start();

        }
        private void Counting()
        {
            for(;;) {

        }
        }

        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            t.Abort();
        }

Dlaczego w podanym przykładzie jego nie potrzebuje i cały program działa jak należy ale po zamienieniu fora na np textBox.Text = "proba raz dwa"; Muszę już użyć go użyć i musi to wyglądać tak: this.Dispatcher.Invoke(() => { textBox.Text = "dsa fsafsafsaf asfsa"; }); .

1 odpowiedź

+1 głos
odpowiedź 15 kwietnia 2017 przez jankustosz1 Nałogowiec (35,880 p.)
Gdyż, kontrolka TextBox została stworzona w klasie twojego okna, a główny wątek twojego okna obsługuje wszystkie zdarzenia i co chwilę odwołuje się do tej kontrolki, aby np. wywołać u niej jakieś zdarzenie. I aby nie wprowadzać czegoś typu lock w celu zapewnienia bezpieczeństwa wielowątkowego postanowili zrobić takie coś jak dispatcher aby główny wątek daną metodę wykonał i nie było bajzlu z lock'ami, których jakby ktoś nie zastosował mógłby doprowadzić do pojawiania się rzadko błędu w runtimie.

Podobne pytania

–2 głosów
0 odpowiedzi 625 wizyt
0 głosów
2 odpowiedzi 246 wizyt
pytanie zadane 21 czerwca 2017 w C# przez jankustosz1 Nałogowiec (35,880 p.)
+1 głos
2 odpowiedzi 2,753 wizyt
pytanie zadane 27 stycznia 2019 w Rozwój zawodowy, nauka, praca przez Artur Koniec Gaduła (3,670 p.)

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...