我在我的應用程序中實現了簡單的拖放功能,我想知道用戶是否已將項目放在列表中的第一個項目上方(在標題行中),以便我可以將其插入爲第一項。如何知道鼠標是否位於WPF ListView中的標題行上?
我正在使用將物品放置在放置位置,但這僅適用於實際存在物品的情況。
HitTestResult hitTestResults = VisualTreeHelper.HitTest(myListView, location);
當鼠標在標題我得到了hitTestResults.VisualHit
多幾個項目之一。在一些測試中,我得到了ListBoxChrome
,TextBlock
和Border
我怎麼知道這些是否是標題行的一部分?我不能專門爲它們進行測試,因爲可能會返回其他UI元素。
我可以得到列表視圖的標題行的座標,看看我的觀點是否在裏面嗎?或者有什麼方法可以知道我的Point是否在該標題行內?
我不明白爲什麼`VisualTreeHelper.HitTest`不應該返回Header項目(可能是'Border'中的'TextBlock`)。你可以添加一些示例代碼來重現你的問題嗎? – 2011-02-05 10:39:03