2011-05-24 80 views
3

我有DataTemplates元素不總是填充整個單元格(即因爲我增加行高度)。使wpf datagrid行可選鼠標單擊元素之間

現在只有在單擊元素內部時才選中一行,如果單擊元素外部,但仍然在行中沒有任何反應。

如何使WPF數據網格行可選,即使我點擊元素之間。

一個想法是聽的MouseDown在DataGrid,但我怎麼能識別行

更新:一個解決辦法是把所有的細胞的DataTemplate邊框透明背景填充單元格(我覺得這不是很優雅)。

回答

1

我不確定知道爲什麼你認爲在內容周圍添加「緩衝區」並不是實現放大該內容的可點擊區域目標的一種非常優雅的方式。

我認爲這正是你應該做的,從風格的角度來看,它在結構上非常有意義,最重要的是從我的角度來看,爲了清晰和簡單。

還有其他的解決方案,將給予同樣的淨效果的用戶,但緩衝方法確實有這優雅的財產這是真的:

  • 如果你點擊它,它的響應,你點擊什麼是響應的內容的一部分

編程作爲一個整體可能是相當不雅觀的。它往往是一堆特殊情況和複雜的解決方案,看起來應該是簡單的問題。着名的計算機科學家Donald Knuth表示,他感覺程序員程序員的能力是他們應付這些不雅行爲的能力。那會讓數學家發瘋的事情。

+0

這聽起來令人信服:-)也許你可以編輯答案來包含實際的解決方案( ... ...舍入所有數據單元格模板) – Cilvic 2011-05-25 06:58:25