快捷搜索:

[WPF Bug清单]之(4)——点击RadioButton的空白没有反应

在WPF BUG清单之二,先容过RadioButton在绑定上的一个Bug。现在再来先容它的另一个造成RadioButton的点击事故处置惩罚不精确的BUG。征象是:点在RadioButton的范围内,可这个RadioButton便是选不中。

先来看一个例子。Windows里一个常见的对话框,用了多个RadioButton。如下图所示。

图1. RadioButton应用典型

把RadioButton放在GroupBox的Header上,是很常见的一个用例,而且被微软的UX Guide所认可。

大年夜家可以在自己的电脑上点点这些RadioButton,只要点在圆圈或翰墨范围内,就会当选中。

我们现在用WPF来实现这个效果。实现的要领有很多。

1.    直接在Header里放一个RadioButton。简单,弗成复用。

2.    应用HeaderTemplate,里面放个RadioButton。比上面的繁杂些,结果一样。

3.    应用ControlTemplate,照样里面放个RadioButton。复用性好些。

简单起见,我们用第一种要领来演示这个Bug。

Sample code

BugDescription:

运行的效果如下图。

图2. RadioButton点击Bug示例

PS:原先想做个XBAP法度榜样放上来让大年夜家直接点点。结果没找着上传.exe的地方。

这个BUG的根源应该是因为颜色造成的。可以发明鼠标在Header RadioButton上移动时,只有鼠标处在有颜色区域的上方时,RadioButton才觉得自己是MouseOver。然则特意给RadioButton的Header设置了Background之后,问题依旧。

这个问题让我们的QA和Developer同时抓狂不已。作为高品德的软件,这种看上去的小问题也是弗成容忍的。办理要领是有的,然则丑恶得不敢拿出来给大年夜家看。照样等神人出场或是.NET Framework 4.0吧。

-----------------------------------------总结的瓜分线---------------------------------------

RadioButton今朝已有两个BUG入帐,荣登WPF BUG榜第一。然则RadioButton同砚也不要痛快得太早,我们的BUG主力ListBox以其义兄ListView还没发威呢。Button同砚就放弃吧,作为最简单的控件之一,也得给我们点儿信心啊。

相关文章:

[WPF Bug清单]之(3)——阴郁创建文件的打开文件对话框

[WPF Bug清单]之(2)--RadioButton的IsChecked绑定掉效

[WPF Bug清单](序)与之(1)——可以多选的单选ListBox

您可能还会对下面的文章感兴趣: