【编程思维】临近实施 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标签设置,这个控件的难度系数接近 ...
随机推荐
- Dapr-2: 世界是分布式的
第 2 章 世界是分布的 只需要问任何达人:现代的.分布式的系统已经到来,单体应用已经过时. 但是,不仅是达人,渐进的 IT 领袖,企业架构师,以及精明的开发者,在探寻和评估现代分布式应用的时候,也在 ...
- 【C#】【平时作业】习题-9-接口
1.什么是接口 为派生类提供因该遵守的标准结构,而本身只包含成员声明,不包含成员的定义 2.接口与抽象类有什么区别 3.设计IBluetooth. public interface IBluetoot ...
- Linux安装JDK,解压报错:gzip: stdin: not in gzip format
问题描述 在Linux安装JDK tar -zxvf 命令解压时,报错,无法解压 报错内容: gzip: stdin: not in gzip format tar: Child returned s ...
- mac 10.15 国内如何安装brew
下载文件 brew_install.sh,然后执行 sh brew_install.sh 通常会卡在 tapping homebrew/core ,没关系, 执行如下命令即可 解决方法,手动执行下面 ...
- Linux系统手动安装Firefox浏览器
大多数Linux发行版都以Firefox作为默认的浏览器,并可以轻松地从软件库中安装.例如:Debian/Ubuntu: sudo apt-get install firefoxFedora: sud ...
- 2024新版本如何配置CLion与cubeMX开发STM32
2024新版本如何配置CLion与cubeMX开发STM32 1. 为什么我要在网上有很多教程的情况下再做一个新版 各种大佬们给出的配置教程原本很详细,但是在时间过了这么久之后已经不完全符合现在的环境 ...
- CDS标准视图:技术对象检验级别描述 I_TechObjInspectionLevelText
视图名称:技术对象检验级别描述 I_TechObjInspectionLevelText 视图类型:基础视图 视图代码: 点击查看代码 @AbapCatalog: { sqlViewName: 'IT ...
- python语法第二篇
练习:输入一个长字符串,判断其中数字的个数. # 输入一个长字符串,判断其中数字的个数. s1 = input("请输入一个包含字母和数字的字符串:") # wdqwddwq78d ...
- Hadoop 概述(三)
HDFS shell API HDFS作为大数据的文件系统,可以放置数据文件,列举几个常用的shell脚本命令,用法和linux中的基本类似,不过这个是hadoop里的一套,所以我们要用hadoop ...
- biancheng-Maven依赖
目录http://c.biancheng.net/maven2/profile.html 1Maven简介2Maven安装与配置3Maven POM4创建Maven项目5Maven项目的构建与测试6M ...