private void Operate_OnClick(object sender, RoutedEventArgs e)
{
AsyncFindBox();
RadWindow.Alert("测试测试!");
} private void AsyncFindBox()
{
#region 需要将返回结果返回到UI上。
//异步任务封装在一个delegate中, 此delegate将运行在后台线程
Func<string> asyncAction = this.AsyncActionMethod; //在UI线程中得到异步任务的返回值,并更新UI
//必须在UI线程中执行
Action<IAsyncResult> resultHandler = delegate(IAsyncResult asyncResult)
{
//异步执行后,将值更新到UI上。
//string result= asyncAction.EndInvoke(asyncResult);
//SearchValue.Text=result;
};
//异步任务执行完毕后的callback, 此callback运行在后台线程上.
//此callback会异步调用resultHandler来处理异步任务的返回值.
AsyncCallback asyncActionCallback = delegate(IAsyncResult asyncResult)
{
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, resultHandler, asyncResult);
};
//在UI线程中开始异步任务,
//asyncAction(后台线程), asyncActionCallback(后台线程)和resultHandler(UI线程)
//将被依次执行
asyncAction.BeginInvoke(asyncActionCallback, null);
#endregion #region 不需要将返回结果返回到UI上的。
//Func<string> asyncAction = this.AsyncActionMethod;
//asyncAction.BeginInvoke(null, null); //Action asyncAction = this.FindBox; //方法无返回值
//asyncAction.BeginInvoke(null, null);
#endregion
} private string AsyncActionMethod()
{
var commandMessage = "";
Thread.Sleep();
Console.WriteLine();
// 发射亮灯
BasketLight.SendCmd(, BasketLight.CmdType.Ready, , ref commandMessage);
return "";
} private void FindBox()
{
var commandMessage = "";
Thread.Sleep();
Console.WriteLine();
// 发射亮灯
BasketLight.SendCmd(, BasketLight.CmdType.Ready, , ref commandMessage);
}

WPF 异步执行的更多相关文章

  1. 【转】WPF 异步执行方法后对 UI 进行更新的几种方法

    使用 async/await 的情况: private async void Button_Click(object sender, RoutedEventArgs e) { (sender as B ...

  2. Python开发程序:RPC异步执行命令(RabbitMQ双向通信)

    RPC异步执行命令 需求: 利用RibbitMQ进行数据交互 可以对多台服务器进行操作 执行命令后不等待命令的执行结果,而是直接让输入下一条命令,结果出来后自动打印 实现异步操作 不懂rpc的请移步h ...

  3. sql异步执行

    /// <summary> /// 按钮事件 异步执行 /// </summary> /// <param name="sender">< ...

  4. thread.join 从异步执行变成同步

    Java的线程模型为我们提供了更好的解决方案,这就是join方法.在前面已经讨论过,join的功能就是使用线程 从异步执行变成同步执行 当线程变成同步执行后,就和从普通的方法中得到返回数据没有什么区别 ...

  5. Saltstack异步执行命令(十三)

    Saltstack异步执行命令 salt执行命令有时候会有超时的问题,就是命令下发下去了,部分主机没有返回信息,这时候就很难判断命令或任务是否执行成功.因此,salt提供异步执行的功能,发出命令后立即 ...

  6. ajax同步、异步执行简单理解与证明

    此理解范例代码来自前几篇随笔! 首先我们来先了解下AJAX: Ajax:全称“Asynchronous Javascript and XML”(异步Javascript和XML),他是由Javascr ...

  7. 对Javascript异步执行的理解

    简单的查看了下Javascript异步编程的代码.按照网上的说法,Javascript异步编程的核心就在于setTimeout.这个系统函数让我们将函数的执行放在了一个指定的新“线程”中.于是本来的顺 ...

  8. Jquery ajax 绑定multiselect多选下拉选项,同时异步执行返回值

    Jquery ajax 绑定multiselect多选下拉选项,同时异步执行获取返回值 function load(mslt_employees,belongto,mark) {//传入$(#ID) ...

  9. Omnithreadlibary学习(3)-IOmniTask异步执行SendMessage

    在任务中发送消息, 可以是函数或者对象方法 TOmniTaskMessageEvent = procedure(const task: IOmniTaskControl; const msg: TOm ...

随机推荐

  1. 软件公司的两种管理方式 总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组

    软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有 ...

  2. Andoird通信之简单聊天ChatApp

    Android通信,大体上的逻辑是跟Java上的通信是差不多的,只是因为Android线程不能直接访问UI界面组件,所以在处理的时候有些麻烦,只要是通过Handle处理. 接下来是一个简单地手机聊天A ...

  3. MySQL的timestamp类型自动更新问题

    今天建了一个表,里面有一个列是timestamp类型,我本意是在数据更新时,这个字段的时间能自动更新.岂知对这个类型的值还不甚了解,导致出错.发现这个字段只是在这行数据建立的时候有值,在更新的却无变化 ...

  4. Oracle 12C -- 使用local PDB克隆新的PDB

    1.将用于克隆的PDB至于只读状态:startup open read only SQL> select con_id,name,open_mode from v$pdbs; CON_ID NA ...

  5. .net core 实现默认图片

    web 上 如果图片不存在 一般是打xx  这时候 一般都是会设置默认的图片 代替   现在用中间件的方式实现统一设置   一次设置 全部作用 .net core 实现默认图片 Startup 文件 ...

  6. 整合大量开源库项目(八)能够载入Gif动画的GifImageView

    转载请注明出处王亟亟的大牛之路 上周大多数时间都是依据兴起,想到什么做什么写了几个自己定义控件,把Soyi丢在那没怎么动,今天就把写的东西整合进来,顺便把SOyi"个人研发的结构理一下&qu ...

  7. 不常用但很有用的git show 和 git blame

    团队使用git 合作时,可能遇见想要查看一段比较难以阅读代码, 此时可能需要联系最新的修改者是哪位,这时候最有用的最快捷的方法就是git blame 啦, 这个指令的output是一个文件的各个区域段 ...

  8. HTML5应用程序缓存实现离线Web网页或应用

    HTML5应用程序缓存和浏览器缓存的区别.(有些)浏览器会主动保存自己的缓存文件以加快网站加载速度.但是要实现浏览器缓存必须要满足一个前提,那就是网络必须要保持连接.如果网络没有连接,即使浏览器启用了 ...

  9. 像网页开发一样调试ios程序

    PonyDebugger https://github.com/square/PonyDebugger

  10. 章节0:MySQl学前知识储备

    一.数据库基础: 1.数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件). 2.数据库管理系统(DBMS):创建和操纵数据库的软件系统. 3.表(table):某种特定类型 ...