Как запустить событие, используя Dispatcher.BeginInvoke в wpf - PullRequest
0 голосов
/ 09 февраля 2012

Меня смущает следующий код.

someObject
.Dispatcher
.BeginInvoke(new SomeDelegate(SomeEvent), SomeParamater);

здесь SomeDelegate - делегат, SomeEvent - событие класса.

Когда я запускаю код, SomeEvent запускаетсяи обработчик событий получает элемент управления.

Может кто-нибудь объяснить, как он работает?

1 Ответ

1 голос
/ 09 февраля 2012

Вопрос был: как вызвать событие, определенное как

public event EventHandler<SomeEventArgs> SomeEvent;

через Dispatcher.BeginInvoke?

Это делается так:

Dispatcher.BeginInvoke(new EventHandler<SomeEventArgs>(SomeEvent), this, new SomeEventArgs());

илилюбое другое значение вместо this в качестве второго аргумента, которое передается обработчику события в качестве аргумента sender.

...