Создание элемента управления, видимого для hit-testing, но прозрачного для drag

#c# #wpf

#c# #wpf

Вопрос:

У меня есть ItemsControl, который отображает элементы в виде полилиний и имеет прозрачный фон. Я хочу сделать этот элемент управления невидимым как объект перетаскивания (чтобы элемент управления под ним мог получать события перетаскивания), но я хочу сделать его видимым для тестирования на попадание, чтобы я мог нажимать на полилинии и выполнять операции над ними.

Я нашел свойство IsHitTestVisible. Однако это включает или отключает как перетаскивание, так и тестирование на попадание. Есть ли какой-либо способ сделать элемент управления «невидимым» просто как возможную цель удаления, но оставить его видимым для тестирования на попадание и событий мыши?

Спасибо.

Обновить

В конце концов я обнаружил, что ItemsControl, даже если его фон прозрачный, каким-то образом скрывает элементы под ним от событий мыши. Итак, проблема не в перетаскивании. Вы знаете, как я могу сделать его действительно прозрачным и разрешить элементам под ним события мыши?

Ответ №1:

Вам нужно было бы установить для его фона значение null или {x:Null} в XAML. Это работает как прозрачный, но не позволяет проверять эту область как часть элемента управления.