私以为架构是业务开发的发展历史,顺应大方向而生,再为贴切时刻的用户需求,持续微改动。

  我本以为了解这个软件的架构没甚意思,加快的开发速度不能过渡到下一个别的软件去;

  却不知以小窥大,关键还是计算机思维、编程意识,设计结构。

  这个月发生了一件事,当时临近实施,却卡在了一个bug上。

    文本框内绑定员工拾取器(员工拾取器是公司开发的,类似于下拉列表),

    逻辑默认打开“个人常用”内容的职员列表,

    而当时的bug是:

    当选中其他(非个人常用)职员列表,拾取器闪烁并且永远跳转回“个人常用”当中;

    在文本框内输入内容拾取器就会疯狂闪烁,形容疯癫,仿佛中了毒。

  我初以为是拾取器配置不对,但对象监控看不出什么问题,参考别的正确使用拾取器,看不出区别;

  这就很难,于是找了公司的老员工H哥帮我调试,他只能告诉我,拾取器闪烁是因为失焦再聚焦,重新触发了打开;

  至于为什么会突然失焦,调试不出来。改了前端样式,也不管用。

  实施紧迫,我把周遭的程序员都问了下,后来YM姐看这情况,怀疑是多次绑定了(两个或多个拾取器在抢夺资源),

  她断点了我的绑定方法,发现进了两次——文本框绑定了两次拾取器。

  真相大白,原来架构提供的自定义Presenter没有调绑定接口,但是CompositeViewPresenter为了简化代码减少工作量,已经实现了一些常规操作,

  当时为了偷懒我用的就是CompositeViewPresenter,但却在初始化的时候再(习惯性)手写调了一次控件绑定…导致二次绑定。

  这个bug烦了我几个小时又几个小时,让YM姐破解了,就很棒,很程序员。

  就这个问题而言,在我看来只有从思维上走能解,这次bug的现象我没看出本质问题来,很愧疚,特记此事,以作警醒。

【编程思维】临近实施 WPF 下拉框闪烁问题!!的更多相关文章

  1. wpf下拉框不能多选的原因

    <dxe:ComboBoxEdit Margin="0"  Height="25" Width="65" VerticalAlignm ...

  2. WPF AutoGeneratingColumn 绑定下拉框

    WPF自动产生列,前台代码: <DataGrid x:Name="Dg" AutoGenerateColumns="True" CanUserAddRow ...

  3. 【WPF学习笔记】之如何设置下拉框读取SqlServer数据库的值:动画系列之(一)

    先前条件:设置好数据库,需要三个文件CommandInfo.cs.DbHelperSQL.cs.myHelper.cs,需要修改命名空间,参照之前随笔http://www.cnblogs.com/Ow ...

  4. c# wpf ComboBox 动态下拉框 及 动态默认值设定

    1.下拉框声明 <ComboBox x:Name="DirComboBox" Width="150" Height="18" Marg ...

  5. 高仿QQ即时聊天软件开发系列之三登录窗口用户选择下拉框

    上一篇高仿QQ即时聊天软件开发系列之二登录窗口界面写了一个大概的布局和原理 这一篇详细说下拉框的实现原理 先上最终效果图 一开始其实只是想给下拉框加一个placeholder效果,让下拉框在未选择未输 ...

  6. DevExpress gridview下拉框的再次研究

    原文:DevExpress gridview下拉框的再次研究 前几天写了一篇关于研究DevExpress gridview下拉框的随笔(DevExpress gridview下拉框repository ...

  7. DevExpress的下拉框控件ComboxBoxEdit怎样绑定键值对选项

    场景 DevExpress的下拉框控件ComboBoxEdit控件的使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1028 ...

  8. DevExpress的下拉框控件ComboBoxEdit控件的使用

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  9. DevExpress的下拉框控件LookUpEdit的使用、添加item选项值、修改默认显示值

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  10. Qt编写自定义控件52-颜色下拉框

    一.前言 这个控件写了很久了,元老级别的控件之一,开发之初主要是自己的好几个项目要用到,比如提供一个颜色下拉框设置对应的曲线或者时间颜色,视频监控项目中经常用到的OSD标签设置,这个控件的难度系数接近 ...

随机推荐

  1. Linux新用户登录时出现“-bash-4.2$”的解决办法

    Linux服务器新建的用户在登录时显示"-bash-4.2$",而不是"user@hostname"的显示方式,出现此问题的原因是在添加普通用户时,用户家目录下 ...

  2. Qt编写的modbus模拟器/支持网络和串口以及websocket/支持网络rtu

    一.使用说明 1.1 设备模拟-Com 第一步,填写要模拟的设备地址,0表示自动处理,也就是收到什么地址就应答什么地址. 第二步,填写对应的串口号和波特率. 第三步,单击打开串口,成功后会变成关闭串口 ...

  3. Qt编写安防视频监控系统59-子模块3图文警情

    一.前言 图文警情子模块是为了适应现在各种人脸识别报警应用而增加的,参照现在各种视频监控手机app报警提示信息,基本上都是带了时间.内容.图片缩略图(单击可以查看大图),这种信息排列形式在现代的软件中 ...

  4. OpenGL ES 3.x游戏开发(上+下卷)书籍的电子版+源程序

    直接附上电子书以及源代码下载链接:https://pan.baidu.com/s/1G10hw5aIi-Bc2LyktwKrdg

  5. Mybatis-Plus 多租户模式忽略某个方法

    Mapper 类方法添加注解: @InterceptorIgnore(tenantLine = "true") 亲测有效.

  6. Note - 两类容斥

    \(\S1.\) 等价容斥   (乱取的名字.)   题目将组合对象构成的 "等价类" 进行了定义和限定. 我们往往无法计数 "等价类真的长这样" 的方案, 而 ...

  7. ffmpeg实现视频的合成与分割

    视频合成与分割程序使用   作者开发了一款软件,可以实现对视频的合成和分割,界面如下: 下载该程序 播放时,可以选择多个视频源:在选中"保存视频"情况下,会将多个视频源合成一个视频 ...

  8. SQL统计数据之总结

    一.查询SQL SELECT t1.规则编号 AS 编码, t1.规则描述 AS 名称, SUM( CASE WHEN t3.DATA_SOURCES = '00' THEN 1 ELSE 0 END ...

  9. LCR 170. 交易逆序对的总数

    交易逆序对的总数 在股票交易中,如果前一天的股价高于后一天的股价,则可以认为存在一个「交易逆序对」.请设计一个程序,输入一段时间内的股票交易记录 record,返回其中存在的「交易逆序对」总数. 示例 ...

  10. Java开发常用工具链接-copy

    Java开发常用工具链接这里汇总了下Java开发过程中常用的一些工具,与一些自动化生成工具. 1. Spring相关工具通过Sql生成Spring相关的项目. Sql生成SpringBoot项目通过M ...