【编程思维】临近实施 WPF 下拉框闪烁问题!!
私以为架构是业务开发的发展历史,顺应大方向而生,再为贴切时刻的用户需求,持续微改动。
我本以为了解这个软件的架构没甚意思,加快的开发速度不能过渡到下一个别的软件去;
却不知以小窥大,关键还是计算机思维、编程意识,设计结构。
这个月发生了一件事,当时临近实施,却卡在了一个bug上。
文本框内绑定员工拾取器(员工拾取器是公司开发的,类似于下拉列表),
逻辑默认打开“个人常用”内容的职员列表,

而当时的bug是:
当选中其他(非个人常用)职员列表,拾取器闪烁并且永远跳转回“个人常用”当中;
在文本框内输入内容拾取器就会疯狂闪烁,形容疯癫,仿佛中了毒。
我初以为是拾取器配置不对,但对象监控看不出什么问题,参考别的正确使用拾取器,看不出区别;
这就很难,于是找了公司的老员工H哥帮我调试,他只能告诉我,拾取器闪烁是因为失焦再聚焦,重新触发了打开;
至于为什么会突然失焦,调试不出来。改了前端样式,也不管用。
实施紧迫,我把周遭的程序员都问了下,后来YM姐看这情况,怀疑是多次绑定了(两个或多个拾取器在抢夺资源),
她断点了我的绑定方法,发现进了两次——文本框绑定了两次拾取器。
真相大白,原来架构提供的自定义Presenter没有调绑定接口,但是CompositeViewPresenter为了简化代码减少工作量,已经实现了一些常规操作,
当时为了偷懒我用的就是CompositeViewPresenter,但却在初始化的时候再(习惯性)手写调了一次控件绑定…导致二次绑定。
这个bug烦了我几个小时又几个小时,让YM姐破解了,就很棒,很程序员。
就这个问题而言,在我看来只有从思维上走能解,这次bug的现象我没看出本质问题来,很愧疚,特记此事,以作警醒。
【编程思维】临近实施 WPF 下拉框闪烁问题!!的更多相关文章
- wpf下拉框不能多选的原因
<dxe:ComboBoxEdit Margin="0" Height="25" Width="65" VerticalAlignm ...
- WPF AutoGeneratingColumn 绑定下拉框
WPF自动产生列,前台代码: <DataGrid x:Name="Dg" AutoGenerateColumns="True" CanUserAddRow ...
- 【WPF学习笔记】之如何设置下拉框读取SqlServer数据库的值:动画系列之(一)
先前条件:设置好数据库,需要三个文件CommandInfo.cs.DbHelperSQL.cs.myHelper.cs,需要修改命名空间,参照之前随笔http://www.cnblogs.com/Ow ...
- c# wpf ComboBox 动态下拉框 及 动态默认值设定
1.下拉框声明 <ComboBox x:Name="DirComboBox" Width="150" Height="18" Marg ...
- 高仿QQ即时聊天软件开发系列之三登录窗口用户选择下拉框
上一篇高仿QQ即时聊天软件开发系列之二登录窗口界面写了一个大概的布局和原理 这一篇详细说下拉框的实现原理 先上最终效果图 一开始其实只是想给下拉框加一个placeholder效果,让下拉框在未选择未输 ...
- DevExpress gridview下拉框的再次研究
原文:DevExpress gridview下拉框的再次研究 前几天写了一篇关于研究DevExpress gridview下拉框的随笔(DevExpress gridview下拉框repository ...
- DevExpress的下拉框控件ComboxBoxEdit怎样绑定键值对选项
场景 DevExpress的下拉框控件ComboBoxEdit控件的使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1028 ...
- DevExpress的下拉框控件ComboBoxEdit控件的使用
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- DevExpress的下拉框控件LookUpEdit的使用、添加item选项值、修改默认显示值
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- Qt编写自定义控件52-颜色下拉框
一.前言 这个控件写了很久了,元老级别的控件之一,开发之初主要是自己的好几个项目要用到,比如提供一个颜色下拉框设置对应的曲线或者时间颜色,视频监控项目中经常用到的OSD标签设置,这个控件的难度系数接近 ...
随机推荐
- 【JavaWeb】前后端分离SpringBoot项目快速排错指南
1 发起业务请求 打开浏览器开发者工具,同时显示网络(Internet)和控制台(console) 接着,清空控制台和网络的内容,如下图 然后,点击你的业务按钮,发起请求. 首先看控制台有没有报错信息 ...
- Qt编写的项目作品28-视频监控显示安卓版
一.功能特点 1.1 基础功能 支持各种音频视频文件格式,比如mp3.wav.mp4.asf.rm.rmvb.mkv等. 支持各种视频流格式,比如rtp.rtsp.rtmp.http等. 本地音视频文 ...
- Windows10 环境下使用 Cmake 和 MinGW-w64 编译安装 OpenCV 4.0.1
Windows10 环境下使用 Cmake 和 MinGW-w64 编译安装 OpenCV 4.0.1 翻译 搜索 复制
- spark (二) spark wordCount示例
目录 实现思路 实现1: scala 基本集合操作方式获取结果 实现2: scala map reduce方式获取结果 实现3: spark 提供的map reduce方式获取结果 FAQ: 实现思路 ...
- Kaggle API使用范例
kaggle.com/docs/api
- w3cschool-Netty 实战精髓篇1
https://www.w3cschool.cn/essential_netty_in_action/ Netty 异步和数据驱动 2021-04-22 14:57 更新 在学习Netty的异步和数据 ...
- 【Git】---工作区、暂存区、版本库、远程仓库
工作区.暂存区.版本库.远程仓库 一.概念 1.四个工作区域 Git本地有四个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或 ...
- DevOps和云计算初识
什么是云计算分类 公有云:云服务提供商对基础设施实施维护,不需要自己维护:多租户:Pay For Use 成本较低,按需付费就像用水用电一样(阿里云.腾讯云等)私有云:自己维护云基础设施:单租户或狭义 ...
- Java一个入门级MVC基于Spring Boot项目
首先根据上一篇文章内容创建一个Spring Boot项目,如图所示: 一,创建Controller并返回数据 在src/main/java/项目文件夹下面创建package,继续里面可以创建模块的pa ...
- 我的程序库:HiCSDB
HiCSDB是我写的一个通用程序库,地址:https://github.com/xumingxsh/HiCSDB 该库的目标是简化C#的数据库交互操作. 在这个库中,我将数据库的交互操作抽象为一下几个 ...