摘要: 前文Reactive UI -- 反应式编程UI框架入门学习(一) 介绍了反应式编程的概念和跨平台ReactiveUI框架的简单应用。 本文通过一个简单的小应用更进一步学习ReactiveUI框架的使用和整体布局,并对比与MVVMLight的不同之处。 应用的功能很简单,读取本地计算机的所有盘符,并 阅读全文
posted @ 2022-08-09 15:00 残生 阅读(9883) 评论(0) 推荐(4) 编辑
摘要: 推荐一个反应式编程的MVVM跨平台框架。 反应式编程 反应式编程是一种相对于命令式的编程范式,由函数式的组合声明来构建异步数据流。要理解这个概念,可以简单的借助Excel中的单元格函数。 上图中,A1=B1+C1,无论B1和C1中的数据怎么变化,A1中的值都会自动变化,这其中就蕴含了反应式/响应式编 阅读全文
posted @ 2022-08-08 10:17 残生 阅读(5215) 评论(3) 推荐(4) 编辑
摘要: WPF相关: 1.定义依赖属性需要注意哪些地方? (1)依赖属性的名字必须以Property结尾。 (2)如果不需要监听属性值的变化,不需要绑定,可以用PropertyMetadata,避免性能的浪费。 (3)对依赖属性值的变化监听应该使用回调,而不是写在属性构造器里面。因为对依赖属性的赋值,不一定 阅读全文
posted @ 2022-07-13 16:14 残生 阅读(1485) 评论(0) 推荐(0) 编辑
摘要: 在上位机和下位机或者服务端和客户端通信的时候,很多时候可能为了赶项目进度或者写代码方便直接使用Socket通信,传输string类型的关键字驱动对应的事件,这就有可能导致程序中存在大量的Switch-Case、If-Else判断。当通信的逻辑越来越复杂,增加的关键字就越来越多,导致一个事件处理类中不 阅读全文
posted @ 2022-05-23 10:33 残生 阅读(899) 评论(2) 推荐(2) 编辑
摘要: 此前带领小组成员主导过一个百万行代码上位机项目的重构工作,分析项目中存在的问题做了些针对性的优化,整个重构工作持续了一年半之久。 主要针对以下问题: 1.产品型号太多导致代码工程的分支太多,维护时会产生非常多的重复性的工作。 这是一个历史遗留问题,公司成立之初的开发人员在开发时没有考虑到后期其他机型 阅读全文
posted @ 2022-05-13 11:16 残生 阅读(1565) 评论(1) 推荐(13) 编辑
摘要: 在某个项目开发过程中,偶然间发现在UI线程中async,await,wait三者一起使用会引发一个必然性的死锁问题。 一个简单的实例,代码很简单,在界面上放置一个Button,并在Button的click事件中调用一个Async标记的异步线程Run并调用Task 的Wait方法,注意Run方法开启的 阅读全文
posted @ 2022-05-13 10:05 残生 阅读(506) 评论(2) 推荐(1) 编辑
摘要: 前段时间应公司要求开发一款针对现有WPF程序的自动化测试工具,在网上查资料找了一段时间,发现用来做自动化测试的框架还是比较多的,比如python的两个模块pywinauto和uiautomation,但是pywinauto主要是封装Win32的api,只局限于winform框架,而python中的u 阅读全文
posted @ 2022-05-12 09:09 残生 阅读(1209) 评论(1) 推荐(8) 编辑
摘要: 在项目中有一个需求是需要在局域网内跨PC远程调用一个程序,并且要求有界面显示,调查了一些资料,能实现远程调用的.Net技术大概有PsExec、WMI、Schedule Task。 这三种方式都做了一个尝试,结果发现PsExec、WMI都只能在进程列表中看到程序执行,却无法显示界面,无法执行程序中的管 阅读全文
posted @ 2022-05-11 11:23 残生 阅读(2501) 评论(13) 推荐(20) 编辑