文章分类 -  WPF模块化与反应式编程

重庆教主课程
摘要:1. 创建一个数据库 2. 创建数据库模块 都是类库 2.1 抽象基类模块 所有表的实体抽象基类 CRUD的接口 2.2 SQLServer数据库模块 nuggets包安装 添加引用 添加生成事件 添加模块配置类 3.EF框架生成数据库映射实体 添加实体数据模型 一般服务器名如果是本机就是“.” 自 阅读全文
posted @ 2024-03-05 13:02 huihui不会写代码 阅读(53) 评论(0) 推荐(0)
摘要:分析 工具栏 复选框所对应的实体(实现<-鼠标操作类型提供者IMouseOperationProvider) ⬇ 鼠标操作类型枚举MouseOperationType(方圆线等),鼠标操作模式变化的观察者 单选框所对应的实体DrawToolModel(实现<-绘图操作提供一个绘图方法IDrawPro 阅读全文
posted @ 2024-02-29 14:26 huihui不会写代码 阅读(40) 评论(0) 推荐(0)
摘要:1.编写相机显示图像到前端xaml的实体类 CameraDisplayModel给CameraProcessModel做个搬运 订阅 CameraProcessModel的观察者,图片发生变化时,进行处理,把CameraProcessModel里面目前缓存区放置的图片写到CameraDisplayM 阅读全文
posted @ 2024-02-28 14:07 huihui不会写代码 阅读(37) 评论(0) 推荐(0)
摘要:1. 添加运动轴控制模块 用户控件库 下载reactiveui,fody,wpf,prism.unity.mahapp.metro 生成事件命令,并添加引用 模块配置类 建包views,viewmodels 创建view和vm并绑定 containerProvider.Resolve<IRegion 阅读全文
posted @ 2024-02-27 10:45 huihui不会写代码 阅读(104) 评论(0) 推荐(0)
摘要:1. 调用opencv函数并显示图像 1.1 16位FPD探测器图像的处理服务管理器 以单例注册到IOC /// <summary> /// 16位FPD探测器图像的处理服务管理器 /// </summary> [ExposedService(Lifetime.Singleton,AutoIniti 阅读全文
posted @ 2024-02-23 14:52 huihui不会写代码 阅读(31) 评论(0) 推荐(0)
摘要:1.导入Png图标以BitmapImage显示 先添加图标 阿里巴巴iconfont 添加到UI的图标包 创建资源字典:bitmapsource类型的就可以绑定到前端 类的图标名称填好 此时传到前台页面的是一个字符串,字符换转图标需要定义转换器 在UI层创建转换器 在资源字典中对转换器进行实例化 在 阅读全文
posted @ 2024-01-17 16:00 huihui不会写代码 阅读(88) 评论(0) 推荐(0)
摘要:1.修改探测器图像尺寸 适应板块尺寸大小 查看屏幕尺寸 修改配置参数:可以启动修改,也可以直接改json文件 改成和板块区域一样大 需要用ps修改,不然会报错,图像尺寸也修改成同样大小 写图像的图片类需要通过配置参数在构造函数中实例化 cpp函数也需要修改,用图片实际的宽高遍历 启动软件时打开 2. 阅读全文
posted @ 2023-12-29 13:32 huihui不会写代码 阅读(34) 评论(0) 推荐(0)
摘要:1. 下载opencv图像处理库 下载地址 get start 新建c++项目 2.导入opencv图像处理库到C++项目中 首先导入一些文件 复制到 配置属性 常规页 c++/c 链接器debug和release都要 输入 在release和debug都生成一下解决方案 3. C模板应用讲解-Op 阅读全文
posted @ 2023-12-28 13:21 huihui不会写代码 阅读(90) 评论(0) 推荐(0)
摘要:1.触发采集仿真相机和仿真探测器的图像数据 绑定命令 MainViewModel 因为探测器和照相机是以单例模式注册到IOC中,所有各个模块通过接口拿到的都是同一个实例 并且不要忘记把image模块的FPD采集注释掉 此时,打开软件图像区域没有展示,点击按钮出现灰色图源 2.增加鼠标操作模式(Mou 阅读全文
posted @ 2023-12-27 13:48 huihui不会写代码 阅读(48) 评论(0) 推荐(0)
摘要:1. 创建枚举 在core enums 补充知识点 Enum与string、int的转换 public enum Mode { Study, Examination } 1、enum转String Enum.GetName(typeof(Mode), Mode.Study); 或者采用ToStrin 阅读全文
posted @ 2023-12-26 10:52 huihui不会写代码 阅读(216) 评论(0) 推荐(0)
摘要:1.补充图像函数 WriteableBitmap方法参数: pixelWidth: 位图所需的宽度。 pixelHeight: 位图所需的高度。 dpiX:位图的每英寸水平点数(dpi)。 dpiY: 位图的每英寸垂直点数(dpi)。 pixelFormat: 位图的 System.Windows. 阅读全文
posted @ 2023-12-25 16:49 huihui不会写代码 阅读(421) 评论(0) 推荐(0)
摘要:1.创建非托管数组的双缓冲内存管理器 需求:相机和探测器会传输图片信息, 保存到内存中,我们需要对内存做一个管理 >双缓冲内存. 比如第一张图片放到缓存区一中,第二张图片就需要放到缓存区二,因为此时缓存区一可能正在被应用层进行读取,如果此时访问可能进行内存泄漏,第三张再放到缓存区一这样交替使用。 1 阅读全文
posted @ 2023-12-25 13:38 huihui不会写代码 阅读(60) 评论(0) 推荐(0)
摘要:1.主区域模块 1.1 创建主操作区域用户控件 注册主操作区域界面 2.增加快捷菜单 2.1 学习按钮的Style样式 通常我们把一个控件的样式写在一个资源字典里面 创建button,checkbox,以及字体资源字典,并都添加到通用样式中 字体单独一个资源字典,在需要的控件中引入 2.2 补充知识 阅读全文
posted @ 2023-12-22 15:46 huihui不会写代码 阅读(20) 评论(0) 推荐(0)
摘要:1. 众为兴控制卡的SDK包下载安装及模块开发 1.1下载SDK 官网 SDK下载 编程手册 1.2 创建众为兴控制卡模块 类库 nuget下载和之前一样 生成事件 项目引用 模块管理类 创建api包,把开发包下类复制过来 创建dll包,把dll文件复制过来 1.3 初始化修改 控制卡在硬件生命周期 阅读全文
posted @ 2023-12-22 12:52 huihui不会写代码 阅读(98) 评论(0) 推荐(0)
摘要:1.控制卡抽象父类模块 1.1编写接口 控制卡是否初始化完成 是否就绪 运动轴是否回零 初始化控制卡 关闭控制卡 设置运动轴速度模式 运动轴回零 移动轴 停止轴运动 1.2 控制卡参数 1.3 控制卡配置提供者 1.4 枚举类型 1.5 控制卡抽象父类 public abstract class C 阅读全文
posted @ 2023-12-21 10:41 huihui不会写代码 阅读(67) 评论(0) 推荐(0)
摘要:1.枚举区分 用户 是否记住密码 是否自动登录 缓存数据 2.接口 获取缓存文件 保存缓存文件 删除缓存内容 参数 一个内容的类型,一个内容 3.实现 利用读配置文件的管理器读,读方法要添加泛型,即以什么格式返回-->字典的格式 ValueTypeExtension 删除,查询,修改 4. 使用 5 阅读全文
posted @ 2023-12-15 15:26 huihui不会写代码 阅读(99) 评论(0) 推荐(0)
摘要:1.自定义控件WpfPropertyGrid 在UI层创建WpfPropertyGrid Microsoft确保WinForms控件仍然可以在WPF应用程序中使用,这是通过WindowsFormsHost完成的。 WindowsFormsHost控件 PropertyGrid 在页面CS中做选中项的 阅读全文
posted @ 2023-12-13 16:37 huihui不会写代码 阅读(512) 评论(0) 推荐(0)
摘要:目前的执行逻辑: 入口文件开启主窗体 -->主窗体实例化时,加载完毕执行loaded事件 -->通过ioc拿到主区域,拿到登录模块(按需加载的) -->执行登录的业务逻辑 -->登录完成后执行登录成功事件回调函数 -->加载主界面或者加载初始化界面(看硬件是否初始化完成) -->初始化界面是依赖于配 阅读全文
posted @ 2023-12-13 13:24 huihui不会写代码 阅读(126) 评论(0) 推荐(0)
摘要:1.Nlog 1.1 简介 NLog是一个基于.NET平台编写的日志记录类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码。可以在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜好配置其表现样式之后发送到一个或多个输出目标(ta 阅读全文
posted @ 2023-12-13 09:05 huihui不会写代码 阅读(66) 评论(0) 推荐(0)
摘要:1.创建模块 用户控件库 nuget包下载与之前一样 要添加生成事件 添加项目引用 模块配置类要添加按需加载属性 2.硬件生命周期管理器 布尔变量表示是否所有硬件加载完成 相机、FPD等硬件属性,用接口声明 加载硬件方法,创建子线程初始化 全部加载完成,修改页面信息 返回值要包含信息和布尔变量表示是 阅读全文
posted @ 2023-12-12 13:26 huihui不会写代码 阅读(61) 评论(0) 推荐(0)