zoukankan      html  css  js  c++  java
  • WPF Dispatcher使用

    微软在WPF引入了Dispatcher,那么这个Dispatcher的主要作用是什么呢?
    Dispatcher的作用是用于管理线程工作项队列。
    主线程负责接收输入、处理事件、绘制屏幕等工作,这样一来,UI界面是主线程创建的,因为子线程不能直接更新由主线程维护的UI界面,所有调用Dispatcher更新UI。

    实例:WPF更新UI
    方式一
    new Thread(()=>{
        this.Dispatcher.Invoke(new Action(()=>{
            //通知主线程去完成更新
        }));
    }).Start();

    方式二
    Application.Current.Dispatcher.Invoke(new Action(() => {
        Application.Current.MainWindow.Title = "我修改过的窗体标题";
    }));

    方式三:异步机制
    var task = Application.Current.Dispatcher.BeginInvoke(new Action(() => {
        Application.Current.MainWindow.Title = "我修改过的窗体标题";
    }));
    task.Completed += new EventHandler(task_Completed);
    static void task_Completed(object sender, EventArgs e)
    {
        MessageBox.Show("任务已经完成");
    }

  • 相关阅读:
    高精度模板_C++
    NOIP总结
    HDU2063_过山车_C++
    手写堆_C++
    NOIP2013Day1解题报告
    [ CodeVS冲杯之路 ] P1368
    POJ1002_487-3279_C++
    [ CodeVS冲杯之路 ] P1092
    POJ2376_Cleaning Shifts_C++
    欧几里得距离_曼哈顿距离_切比雪夫距离
  • 原文地址:https://www.cnblogs.com/sntetwt/p/11149916.html
Copyright © 2011-2022 走看看