【编程思维】临近实施 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标签设置,这个控件的难度系数接近 ...
随机推荐
- Qt音视频开发01-共享解码线程(耗时一年/性能凶残/至臻完美)
一.前言 大概在8年前就开始用ffmpeg做视频解码的显示,第一个版本就100行代码左右,功能极其简单,就是开个线程解码视频流转成图片发给主界面绘制.时间过得真快,从当初的一胎到现在二胎都上学了三胎计 ...
- Qt编写地图综合应用58-兼容多浏览器内核
一.前言 miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件.其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blin ...
- Qt编写的项目作品10-本地摄像头综合应用示例
一.功能特点 同时支持 QCamera.ffmpeg.v4l2 三种内核解析本地摄像头. 提供函数 findCamera 自动搜索环境中的所有本地摄像头设备,搜索结果信号发出. 支持自动搜索和指定设备 ...
- 即时通讯技术文集(第24期):音视频WebRTC好文合集 [共20篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第 24 期. [- 1 -] 开源实时音视频技术WebRTC的现状 [链接] http://w ...
- 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v9.0版已发布
关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...
- IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲
本文引用了"鲜枣课堂"的<史上最强5G科普>文章内容.为了更好的内容呈现,在引用和收录时内容有改动,转载时请注明原文来源. 1.内容概述 ➊ 5G技术的关注度越来越高: ...
- Solution -「LOCAL」Minimal DFA
\(\mathscr{Description}\) Private link. 令 \(\Sigma=\{\texttt a,\texttt b\}\),对于所有形式语言 \(L\subset ...
- Solution Set -「LOCAL」冲刺省选 Round I
\(\mathscr{Summary}\) 状态还行叭. A 题又犯坏习惯,走起来就大力分讨,上了个厕所之后冷静一下开始寻找比较普适性的 DP 状态,然后几乎就切掉了,可惜复杂度写假了没发现( ...
- C# HttpClient 流式响应
有些时候需要边请求边显示响应内容: 用httpClient.SendAsync(httpreq, HttpCompletionOption.ResponseHeadersRead); private ...
- biancheng-Pygame(python)
http://c.biancheng.net/pygame/ Python Pygame 是一款专门为开发和设计 2D 电子游戏而生的软件包,它支 Windows.Linux.Mac OS 等操作系统 ...