希望调度程序在事件处理程序完成后立即调用方法

时间:2014-04-14 11:26:08

标签: c# wpf event-handling dispatcher

我有一个wpf UserControl来处理来自ComboBox的事件。该控件订阅ComboBoxes的DropdownClosed事件。我遇到了这个问题,在运行处理程序之后,Combobx基本实现会产生令人不快的默认代码。

我想知道是否有办法简单地放置我的代码,在处理程序完成后“同步”。

我发现了一种常用的方法是使用BeginInvoke:

void OnComboBoxDropDownClosed()
{
    ...
    Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => MyCodeAfterHandlerFinished()));
}

我认为我不需要这个(因为msdn告诉我它是异步运行的), 什么是最佳做法?

更多解释: 1)当ComboBox基础触发DropDownClosed()时得到通知(此事件可被视为“MyCode()”的条件) 2)等到ComboBox基础实现已遍历其所有调用列表并已调度其所有事件订阅者。 3)运行MyCode() - >如何使用Invoke / BeginInvoke放置MyCode?

0 个答案:

没有答案