Я реализую простую функцию перетаскивания в моем приложении, и я хотел бы знать, если пользователь сбросил элемент над первым элементом в списке (в строке заголовка), чтобы я мог просто вставить его как первый пункт.
Я использую VisualTreeHelper.HitTest
, чтобы получить предмет в позиции выпадения, но это работает, только если там действительно есть предмет.
HitTestResult hitTestResults = VisualTreeHelper.HitTest(myListView, location);
Когда мышь находится в заголовках, я получаю один из множества пунктов в hitTestResults.VisualHit
. Всего за несколько тестов я получил ListBoxChrome
, TextBlock
и Border
Как я могу узнать, является ли какой-либо из них частью строки заголовка? Я не могу просто проверить их специально, поскольку могут быть возвращены другие элементы пользовательского интерфейса.
Могу ли я получить координаты строки заголовка списка, чтобы увидеть, находится ли моя точка внутри него? Или есть способ узнать, находится ли моя точка внутри строки заголовка?