我有DataTemplates,其中元素并不总是填充整个单元格(即因为我增加了行高)。
现在只有当我在元素内部单击时才会选中一行,如果我在元素外部单击,但仍然没有发生任何事情。
即使我点击元素之间,如何使WPF数据网格行可选。
一个想法是在数据网格中监听MouseDown,但是如何识别行
更新:解决方法是给所有单元格datatemplate一个带透明背景的边框来填充单元格(我觉得这不是很优雅)。
答案 0 :(得分:1)
我不知道为什么你认为为你的内容添加“缓冲区”并不是一种非常优雅的方式来实现扩大该内容的可点击区域的目标。
我认为这正是你应该做的,从风格的角度来看,它在建筑上是完全合理的,最重要的是从我的观点来看,为了清晰和简单。
确实有其他解决方案可以为用户提供相同的净效果,但缓冲方法确实这个优雅的属性:
整体编程可能相当不优雅。它往往是一堆特殊情况和复杂的解决方案,似乎应该是容易出问题。着名的计算机科学家唐纳德克努特说,他觉得程序员程序员能够应对这些不雅的事情。让数学家变得疯狂的事情。