问题描述
||
我有DataTemplates,其中的元素并不总是填充整个单元格(即,因为我增加了行高)。
现在,只有在元素内部单击,元素外部单击但在行中什么也没有发生时,才选择行。
即使在元素之间单击,也如何使WPF数据网格行可选。
一种想法是在数据网格中监听MouseDown,但是如何识别行
更新:一种解决方法是为所有单元格数据模板提供透明背景边框以填充单元格(我觉得这不是很优雅)。
解决方法
我不确定您为什么认为在内容周围添加“缓冲”不是达到扩大该内容可点击区域目标的一种非常优雅的方法。
我认为这正是您应该做的,并且从样式的角度,并且从我的角度来看,最重要的是,从结构上来说,这是完全有意义的,以保持简洁和简洁。
确实,还有其他解决方案可以为用户带来相同的净效果,但是缓冲方法确实具有以下优良特性:
如果您单击它并做出响应,则单击的内容是响应内容的一部分
总体上来说,编程是相当不优雅的。对于似乎应该是容易解决的问题,通常有很多特殊情况和复杂的解决方案。著名的计算机科学家唐纳德·克努斯(Donald Knuth)说过,他认为使程序员成为程序员的原因是他们能够应付这些不起眼的事情。使数学家发疯的事情。