var temp = this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new TimeDelegate(Warning));
            temp.Completed += (o, e) =>
            {
                num = 0;
            };

解决方案 »

  1.   

    整个语句的意思是等委托执行完,执行num=0吧?那后面的语句是不是还是要一起执行呢?我的意思是想等委托执行完再执行后面的所有语句,不知道行不行?
      

  2.   

                var temp = this.Dispatcher.BeginInvoke(new Action(() => { }));
                temp.Wait(new TimeSpan(10));Wait可以设定等待的最大时间,具体参数你自己去看吧。
    如果设最大的等待时间,那么就是无限等待,那样就和Invoke没太大区别了。