WPF Bug清单之(6)——Button的IsCancel属性失效

2015-08-24 05:04:30

在上一篇中,描述了模态对话框隐藏之后变成了非模态的Bug,很多人回复表示这不算是一个Bug,我也表示理解。Bug只有在需求之下才有意义,不同的需求,对Bug的界定也不一样。作为一个Framework,.NET只能做到在多数时候是符合最广泛群体的需求的,就可以说它合格。但是对于前一篇描述的问题,想补充一下自己的考虑。

Window的Show和ShowDialog,用于将窗体展现(我没有用显示)出来,而Close用于关闭。Close之后就不能再用Show或是ShowDialog再次将窗体展现出来,否则会抛出异常,所以5楼的gboxcc回复的是错的。很同情这位gboxcc,因为他认为我说错的那句,恰恰是我写过代码验证过的。

如果想隐藏而不关闭一个窗体,显然用Close是不行的。而且还要把所有的Close事件Cancel掉,保证窗体不会被Close,然后只能用Visibility 将窗体隐藏起来。隐藏之后,如果要将窗体再次显示出来,我的第一感觉是用Visibility,但是发现不行。

从这个角度而言,Window类,Show/Close只在开始和结束的时候调用,因为它们不能交替调用;在窗体Show之后,用Visibility控制其可见性,因为可见性可以随意交替设置的。我认为这才是一个非常自然的事情。但是Window的实际情况是,Visibility的设置,会使isShowingDialog变量的值发生变化,单从需求上讲,这是不应该的。所以将其做为一个Bug提了出来。Colin Han认为这是“为了更好地用户体验,专门做出的设计。”,我亦不以为然。而且我感觉微软的UX团队与开发团队的沟通还很不充分,比如我在另一篇文章中提到的WPF的Window,没有提供一个属性来设置一个窗体是否显示Icon,这本身就不符合微软自己的UX Guide。

回复的人一致认为,再次显示这个窗体时也应该用ShowDialog。好,这篇文章就是为次而生的。因为用ShowDialog将窗体再次显示出来同样有问题。连代码都不用改,直接用上次的代码就可以重现这个问题。使用ShowDialog方法将一个窗体再次显示出来之后,窗体上的”Hide Self”按钮失效了。注意是再次,第一次ShowDialog出来时的行为是正常的。

这里顺便介绍一下IsCancel属性,MSDN上对它的解释如下:获取或设置一个,该值指示Button是否是一个“取消”按钮。用户可以通过按ESC键激活“取消”按钮。其实我感觉这句话对于新手而言实在是没有什么帮助。好像就告诉别人这个属性就是给Button加了个ESC键作为快捷键。必须要和MSDN上的很多文档合起来看才知道这个IsCancel按钮在不同环境下分别起什么作用,其实还不如自己写个代码试一下来得方便。

对于示例中的代码而言,IsCancel就相当于让当前窗体关闭。这是给窗体添加一个关闭按钮最简单的方式(没有之一)。因为这个Bug用的就是上一篇的代码。所以就不给大家贴图了。自己运行一下吧。逻辑如下:

1.点击示例中的Show Model Dialog按钮——显示一个模态对话框。

2.可以用Hide Self关闭弹出框。

3.再用Show Model Dialog弹出这个对话框。

4.那个Hide Self按钮不再起作用了。

我是MS Fan,但是我依然会以挑剔的眼光看它;只因为我是MS Fan的原因是,从多数开发和娱乐和应用的角度而言,MS是目前最好的选择。如果有一天Linux的哪个发行版在多数方面超过了MS,我会义无反顾地投入Linux。不过是一个平台,不是女友,也不是“知已者”,不需要相守一生。

紧急通告!新冠确诊病例2名密接者曾乘列车途经安徽!

紧急通告!新冠确诊病例2名密接者曾乘列车途经安徽!

山东省济宁市微山县发布紧急通告,寻找2名密接者的密接者。通告显示2名密接者所乘Z274次列车途经安徽车站。

2021-09-12
全额退款!盒马道歉了!黑刺榴莲被指货不对板

全额退款!盒马道歉了!黑刺榴莲被指货不对板

近日,有博主发文称,盒马APP销售的黑刺榴莲货不对板,宣传时用的是黑刺榴莲D200的信息和图片,实际发货却是D13榴莲,两者差价高达三倍,博主几次与盒马客服沟通未果。对此,盒马官方微博9月9日发文道歉:

2021-09-12
二代疫苗离上市还有多远?一代还有效吗?速看

二代疫苗离上市还有多远?一代还有效吗?速看

9月7日的国务院联防联控机制发布会上,释放出一个重要信息,包括国药在内的研发企业和团队,已经在开展第二代新冠疫苗研发、专门针对变异病毒,同时也有治疗新冠肺炎方面的特效药推出。

2021-09-12
警方通报15岁男孩校内被殴打致死:嫌疑人被控制

警方通报15岁男孩校内被殴打致死:嫌疑人被控制

江苏省连云港市东海县公安局官方微信10日通报,9月9日13时53分,连云港市东海县公安局110报警服务台接报警称:东海县中等专业学校有2名学生打架,其中1人受伤。接警后,警方迅速派员赶赴现场处置,会同120急救人员将伤者张某(男,15岁,学生) 送往医院救治,同时将犯罪嫌疑人平某(男,15岁,学生)控制。

2021-09-12
31省区市新增确诊病例25例 其中1例本土病例在福建

31省区市新增确诊病例25例 其中1例本土病例在福建

9月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例25例。其中境外输入病例24例(云南13例,河南3例,上海2例,福建2例,广东2例,山西1例,四川1例),含5例由无症状感染者转为确诊病例(河南2例,广东2例,四川1例);本土病例1例(在福建莆田市)。无新增死亡病例。新增疑似病例2例,均为境外输入病例(均在上海)。

2021-09-12
凌晨!大连一住户家发生液化气罐泄漏并爆炸致8死5伤

凌晨!大连一住户家发生液化气罐泄漏并爆炸致8死5伤

大连市普兰店区一住户家中发生爆燃 造成8人死亡5人受伤。9月11日0时许,大连市普兰店区一住户家中液化气罐泄漏并引发爆炸。事故发生后,消防、公安、住建等部门及属地单位立即临场开展应急处置工作。2时30分许火被扑灭。截至4时30分许,事故致8人死亡,另有5人受伤在医院救治,暂无生命危险。

2021-09-12
痛心!成都地铁17号线在建工地垮塌致4死14伤

痛心!成都地铁17号线在建工地垮塌致4死14伤

据@成都地铁消息,2021年 9月10日14时01分,中国铁建股份有限公司、中铁十一局集团有限公司联合体承建的成都轨道交通17号线二期工程建设北路站在搭建地面防尘降噪棚时,部分棚网架发生垮塌。事故造成18人受伤,其中4人经抢救无效死亡,14人正在医院接受救治

2021-09-12
福建6人核酸阳性!3名小学生3名家长!病例详情公布

福建6人核酸阳性!3名小学生3名家长!病例详情公布

9月10日晚上,福建省莆田市召开新闻发布会,介绍疫情防控最新情况。发布会上通报,2021年9月10日,福建莆田市在对仙游县枫亭镇一小学在校学生新冠病毒核酸检测时,发现2名学生(为亲兄弟)核酸检测结果呈阳性,立即扩大核酸采样又发现4人(1名学生和3名家长)核酸检测结果呈阳性。截至9月10日18时,共发现6人检测结果呈阳性。

2021-09-12
货拉拉女乘客坠亡案司机获刑1年:犯过失致人死亡罪

货拉拉女乘客坠亡案司机获刑1年:犯过失致人死亡罪

9月10日,长沙市岳麓区人民法院对岳麓区人民检察院指控被告人周阳春犯过失致人死亡罪一案进行公开开庭审理并当庭宣判,认定被告人周阳春犯过失致人死亡罪,判处有期徒刑一年,缓刑一年。

2021-09-12
感情不顺!女大学生站阳台上欲跳楼消防员飞脚踢回

感情不顺!女大学生站阳台上欲跳楼消防员飞脚踢回

9月6日,四川绵阳,一女大学生因感情不顺,站上学校6楼宿舍阳台欲跳楼轻生。消防员从宿舍楼顶索降,一脚将其踹回屋内。楼下围观群众一片掌声!提醒:生命只有一次,请你珍惜。

2021-09-11
长途“旅行”结束!北移亚洲象群完全进入传统栖息地

长途“旅行”结束!北移亚洲象群完全进入传统栖息地

总台记者从云南北移亚洲象群安全防范省级指挥部获悉,9月10日1时,北移亚洲象安全渡过湍急的把边江,从普洱市墨江县进入普洱市宁洱县境内。

2021-09-11
男子偷亲女同事被开除起诉单位赔钱!法院这样判……

男子偷亲女同事被开除起诉单位赔钱!法院这样判……

在职场工作中难免要与异性接触,性骚扰成了一个难以绕开的话题,如何认定职场性骚扰?用人单位能否以“劳动者存在性骚扰行为”为由单方解除劳动合同?近日,高淳法院审理了一起因职场骚扰而被解除合同的劳动争议案件,被解雇员工要求公司支付赔偿金被驳回。

2021-09-11
突发!司机突发脑溢血!车辆失控致5人伤!

突发!司机突发脑溢血!车辆失控致5人伤!

陕西咸阳交警刚刚通报:9月9日下午18时左右,陕西咸阳市秦都区团结路北口,发生一起交通事故,致5人受伤(含驾驶人),交警部门接到报警后,第一时间赶赴现场进行处置。经省市医疗专家会诊,法医学司法鉴定,公安机关调查取证,事故因驾驶人陈某突发脑溢血,车辆失控造成。目前,受伤人员正在全力救治之中。

2021-09-11
小学生被老师砍伤?最新通报:教师被停职!警方已介入!

小学生被老师砍伤?最新通报:教师被停职!警方已介入!

据“龙泉教育”微信公众号消息,针对网传“一小学生因字没写好被老师用刀砍手”事件,浙江省龙泉市教育局9月9日发布情况通报。9月8日,龙泉市锦溪小学发生一起因教师不当教育行为致学生受伤事件,事件发生后,该教师当即将学生送往医院医治同时告知家长。教育局、公安机关第一时间介入调查处置,安排人员到医院探望,鉴于该教师教育行为失当,教育局党委连夜召开会议,对该教师作出停职检查处理。目前,该事件公安机关正在调查取证中,调查结果将适时公布,望广大群众不信谣,不传谣!

2021-09-11
劳荣枝身负7条人命被判死刑!哭诉一辈子没杀过一只鸡鸭

劳荣枝身负7条人命被判死刑!哭诉一辈子没杀过一只鸡鸭

9日,江西省南昌市中级人民法院依法对被告人劳荣枝故意杀人、抢劫、绑架案进行一审公开宣判。以被告人劳荣枝犯故意杀人罪、抢劫罪、绑架罪,数罪并罚,决定执行死刑,剥夺政治权利终身,并处没收个人全部财产。

2021-09-11
惊了!快递柜里有哭声竟然“取”出了一个男孩!

惊了!快递柜里有哭声竟然“取”出了一个男孩!

9月5日傍晚,浙江温州市龙湾区某公寓楼下的快递柜里,传出了小男孩的哭声。快递柜里怎么会有孩子呢?有人立刻报了警。几分钟后,消防员就赶到了现场。消防队员立即用撬棍对快递柜门进行破拆,半分钟不到,柜门就被撬开了,里面的小男孩立马爬了出来,“他的头是朝外的,关在里面这一下子,全身都是汗了。”

2021-09-11
警方通报:女子体验娱乐项目坠亡 3名经营者被拘

警方通报:女子体验娱乐项目坠亡 3名经营者被拘

深圳市公安局大鹏分局官方微博9月9日发布情况通报:深圳一女游客在较场尾海域体验“飞鱼”娱乐项目期间不慎掉落海中失踪,警方找到后已无生命体征。目前,项目经营者黄某、丁某、易某已被警方刑事拘留。

2021-09-11
中国疾控中心:我国已完成德尔塔变异株灭活疫苗临床前研究

中国疾控中心:我国已完成德尔塔变异株灭活疫苗临床前研究

记者9日从中国疾控中心获悉,我国已完成针对德尔塔变异株的灭活疫苗的临床前研究。中国疾病预防控制中心生物安全首席专家 武桂珍:我们从广东、上海、北京等输入疫情比较多的临床样本中,成功分离到了一些多株的德尔塔毒株。通过连续三代的克隆纯化,并初步完成了疫苗毒株选育与鉴定以及三级种子库的建立,现在已经从实验室进入生产车间规模化生产前的准备。

2021-09-11
9月9日31省区市新增境外输入确诊病例17例 分别在这7个省市

9月9日31省区市新增境外输入确诊病例17例 分别在这7个省市

9月9日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例17例,均为境外输入病例(广东5例,上海4例,云南4例,江苏1例,福建1例,山东1例,广西1例),含1例由无症状感染者转为确诊病例(在福建)。无新增死亡病例。新增疑似病例1例,为境外输入病例(在上海)。

2021-09-11
拉响警报!“超强台风”来袭!“双台风”周末或影响这些地方

拉响警报!“超强台风”来袭!“双台风”周末或影响这些地方

通常,我们把6月至8月生成的台风称为“夏台风”,9月至11月生成的台风称为“秋台风”。从登陆我国的情况来看,秋台风的影响力不容小觑。1949年至2020年数据显示,平均每年夏季约有4.43个台风登陆我国,是台风登陆我国最多的季节;而每年秋季平均有2.36个台风登陆我国,为台风第二活跃的季节;而每年春季和冬季的台风平均登陆个数仅不足0.2个。

2021-09-11

紧急通告!新冠确诊病例2名密接者曾乘列车途经安徽!

山东省济宁市微山县发布紧急通告,寻找2名密接者的密接者。通告显示2名密接者所乘Z274次列车途经安徽车站。

紧急通告!新冠确诊病例2名密接者曾乘列车途经安徽!

全额退款!盒马道歉了!黑刺榴莲被指货不对板

近日,有博主发文称,盒马APP销售的黑刺榴莲货不对板,宣传时用的是黑刺榴莲D200的信息和图片,实际发货却是D13榴莲,两者差价高达三倍,博主几次与盒马客服沟通未果。对此,盒马官方微博9月9日发文道歉:

全额退款!盒马道歉了!黑刺榴莲被指货不对板

二代疫苗离上市还有多远?一代还有效吗?速看

9月7日的国务院联防联控机制发布会上,释放出一个重要信息,包括国药在内的研发企业和团队,已经在开展第二代新冠疫苗研发、专门针对变异病毒,同时也有治疗新冠肺炎方面的特效药推出。

二代疫苗离上市还有多远?一代还有效吗?速看

警方通报15岁男孩校内被殴打致死:嫌疑人被控制

江苏省连云港市东海县公安局官方微信10日通报,9月9日13时53分,连云港市东海县公安局110报警服务台接报警称:东海县中等专业学校有2名学生打架,其中1人受伤。接警后,警方迅速派员赶赴现场处置,会同120急救人员将伤者张某(男,15岁,学生) 送往医院救治,同时将犯罪嫌疑人平某(男,15岁,学生)控制。

警方通报15岁男孩校内被殴打致死:嫌疑人被控制

31省区市新增确诊病例25例 其中1例本土病例在福建

9月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例25例。其中境外输入病例24例(云南13例,河南3例,上海2例,福建2例,广东2例,山西1例,四川1例),含5例由无症状感染者转为确诊病例(河南2例,广东2例,四川1例);本土病例1例(在福建莆田市)。无新增死亡病例。新增疑似病例2例,均为境外输入病例(均在上海)。

31省区市新增确诊病例25例 其中1例本土病例在福建

凌晨!大连一住户家发生液化气罐泄漏并爆炸致8死5伤

大连市普兰店区一住户家中发生爆燃 造成8人死亡5人受伤。9月11日0时许,大连市普兰店区一住户家中液化气罐泄漏并引发爆炸。事故发生后,消防、公安、住建等部门及属地单位立即临场开展应急处置工作。2时30分许火被扑灭。截至4时30分许,事故致8人死亡,另有5人受伤在医院救治,暂无生命危险。

凌晨!大连一住户家发生液化气罐泄漏并爆炸致8死5伤

痛心!成都地铁17号线在建工地垮塌致4死14伤

据@成都地铁消息,2021年 9月10日14时01分,中国铁建股份有限公司、中铁十一局集团有限公司联合体承建的成都轨道交通17号线二期工程建设北路站在搭建地面防尘降噪棚时,部分棚网架发生垮塌。事故造成18人受伤,其中4人经抢救无效死亡,14人正在医院接受救治

痛心!成都地铁17号线在建工地垮塌致4死14伤

福建6人核酸阳性!3名小学生3名家长!病例详情公布

9月10日晚上,福建省莆田市召开新闻发布会,介绍疫情防控最新情况。发布会上通报,2021年9月10日,福建莆田市在对仙游县枫亭镇一小学在校学生新冠病毒核酸检测时,发现2名学生(为亲兄弟)核酸检测结果呈阳性,立即扩大核酸采样又发现4人(1名学生和3名家长)核酸检测结果呈阳性。截至9月10日18时,共发现6人检测结果呈阳性。

福建6人核酸阳性!3名小学生3名家长!病例详情公布

货拉拉女乘客坠亡案司机获刑1年:犯过失致人死亡罪

9月10日,长沙市岳麓区人民法院对岳麓区人民检察院指控被告人周阳春犯过失致人死亡罪一案进行公开开庭审理并当庭宣判,认定被告人周阳春犯过失致人死亡罪,判处有期徒刑一年,缓刑一年。

货拉拉女乘客坠亡案司机获刑1年:犯过失致人死亡罪

感情不顺!女大学生站阳台上欲跳楼消防员飞脚踢回

9月6日,四川绵阳,一女大学生因感情不顺,站上学校6楼宿舍阳台欲跳楼轻生。消防员从宿舍楼顶索降,一脚将其踹回屋内。楼下围观群众一片掌声!提醒:生命只有一次,请你珍惜。

感情不顺!女大学生站阳台上欲跳楼消防员飞脚踢回

长途“旅行”结束!北移亚洲象群完全进入传统栖息地

总台记者从云南北移亚洲象群安全防范省级指挥部获悉,9月10日1时,北移亚洲象安全渡过湍急的把边江,从普洱市墨江县进入普洱市宁洱县境内。

长途“旅行”结束!北移亚洲象群完全进入传统栖息地

男子偷亲女同事被开除起诉单位赔钱!法院这样判……

在职场工作中难免要与异性接触,性骚扰成了一个难以绕开的话题,如何认定职场性骚扰?用人单位能否以“劳动者存在性骚扰行为”为由单方解除劳动合同?近日,高淳法院审理了一起因职场骚扰而被解除合同的劳动争议案件,被解雇员工要求公司支付赔偿金被驳回。

男子偷亲女同事被开除起诉单位赔钱!法院这样判……

突发!司机突发脑溢血!车辆失控致5人伤!

陕西咸阳交警刚刚通报:9月9日下午18时左右,陕西咸阳市秦都区团结路北口,发生一起交通事故,致5人受伤(含驾驶人),交警部门接到报警后,第一时间赶赴现场进行处置。经省市医疗专家会诊,法医学司法鉴定,公安机关调查取证,事故因驾驶人陈某突发脑溢血,车辆失控造成。目前,受伤人员正在全力救治之中。

突发!司机突发脑溢血!车辆失控致5人伤!

小学生被老师砍伤?最新通报:教师被停职!警方已介入!

据“龙泉教育”微信公众号消息,针对网传“一小学生因字没写好被老师用刀砍手”事件,浙江省龙泉市教育局9月9日发布情况通报。9月8日,龙泉市锦溪小学发生一起因教师不当教育行为致学生受伤事件,事件发生后,该教师当即将学生送往医院医治同时告知家长。教育局、公安机关第一时间介入调查处置,安排人员到医院探望,鉴于该教师教育行为失当,教育局党委连夜召开会议,对该教师作出停职检查处理。目前,该事件公安机关正在调查取证中,调查结果将适时公布,望广大群众不信谣,不传谣!

小学生被老师砍伤?最新通报:教师被停职!警方已介入!

劳荣枝身负7条人命被判死刑!哭诉一辈子没杀过一只鸡鸭

9日,江西省南昌市中级人民法院依法对被告人劳荣枝故意杀人、抢劫、绑架案进行一审公开宣判。以被告人劳荣枝犯故意杀人罪、抢劫罪、绑架罪,数罪并罚,决定执行死刑,剥夺政治权利终身,并处没收个人全部财产。

劳荣枝身负7条人命被判死刑!哭诉一辈子没杀过一只鸡鸭

惊了!快递柜里有哭声竟然“取”出了一个男孩!

9月5日傍晚,浙江温州市龙湾区某公寓楼下的快递柜里,传出了小男孩的哭声。快递柜里怎么会有孩子呢?有人立刻报了警。几分钟后,消防员就赶到了现场。消防队员立即用撬棍对快递柜门进行破拆,半分钟不到,柜门就被撬开了,里面的小男孩立马爬了出来,“他的头是朝外的,关在里面这一下子,全身都是汗了。”

惊了!快递柜里有哭声竟然“取”出了一个男孩!

警方通报:女子体验娱乐项目坠亡 3名经营者被拘

深圳市公安局大鹏分局官方微博9月9日发布情况通报:深圳一女游客在较场尾海域体验“飞鱼”娱乐项目期间不慎掉落海中失踪,警方找到后已无生命体征。目前,项目经营者黄某、丁某、易某已被警方刑事拘留。

警方通报:女子体验娱乐项目坠亡 3名经营者被拘

中国疾控中心:我国已完成德尔塔变异株灭活疫苗临床前研究

记者9日从中国疾控中心获悉,我国已完成针对德尔塔变异株的灭活疫苗的临床前研究。中国疾病预防控制中心生物安全首席专家 武桂珍:我们从广东、上海、北京等输入疫情比较多的临床样本中,成功分离到了一些多株的德尔塔毒株。通过连续三代的克隆纯化,并初步完成了疫苗毒株选育与鉴定以及三级种子库的建立,现在已经从实验室进入生产车间规模化生产前的准备。

中国疾控中心:我国已完成德尔塔变异株灭活疫苗临床前研究

9月9日31省区市新增境外输入确诊病例17例 分别在这7个省市

9月9日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例17例,均为境外输入病例(广东5例,上海4例,云南4例,江苏1例,福建1例,山东1例,广西1例),含1例由无症状感染者转为确诊病例(在福建)。无新增死亡病例。新增疑似病例1例,为境外输入病例(在上海)。

9月9日31省区市新增境外输入确诊病例17例 分别在这7个省市

拉响警报!“超强台风”来袭!“双台风”周末或影响这些地方

通常,我们把6月至8月生成的台风称为“夏台风”,9月至11月生成的台风称为“秋台风”。从登陆我国的情况来看,秋台风的影响力不容小觑。1949年至2020年数据显示,平均每年夏季约有4.43个台风登陆我国,是台风登陆我国最多的季节;而每年秋季平均有2.36个台风登陆我国,为台风第二活跃的季节;而每年春季和冬季的台风平均登陆个数仅不足0.2个。

拉响警报!“超强台风”来袭!“双台风”周末或影响这些地方