我在我的应用程序中实现了简单的拖放功能,我想知道用户是否已将项目放在列表中的第一个项目上方(在标题行中),以便我可以将其插入为第一项。如何知道鼠标是否位于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