WPF - Dispatcher.Invoke延迟

时间:2013-07-10 13:24:04

标签: wpf dispatcher begininvoke

为什么我的Dispatcher.Invoke操作没有立即呈现?这让我烦恼

        Dispatcher.Invoke((Action)(() => busyIndicator1.BusyContent = loaderComment), System.Windows.Threading.DispatcherPriority.Send);

        var sw = new Stopwatch();

        sw.Start();
        var newItems = func.Invoke(Operation);
        sw.Stop();

我的新busyIndi​​cator1.BusyContent值仅在我的Func func完成执行后呈现,而func需要一段时间。 我已经为我的所有其他Dispatcher.BeginInvoke调用设置了低优先级。

1 个答案:

答案 0 :(得分:1)

您正在阻止负责您通过函数调用发送的操作的线程。调度程序队列(至少是GUI呈现部分)不会被处理,直到您再次让线程空闲(即方法/事件处理程序退出)。

在另一个线程上执行函数。