Как игнорировать обработчик событий Parent для использования дочернего обработчика событий (для DragEvent) в WPF

2

У меня возникла проблема с использованием DragEventHandler. Сценарий таков: родительский элемент, который имеет свой собственный DragEventHandler (в данном случае Grid), содержит дочерний элемент (Panel), который также имеет свои собственные DragEventHandler s.

Поэтому, когда элемент перетаскивается над дочерним элементом, вместо дочернего элемента используются обработчики событий родительского elt. У меня есть ребенок, чтобы использовать child.PreviewDragEnter.. вместо DragEnter, но он не работает.

Достаточно странно, для MouseEvent как mouseEnter или mouseLeave обработчики как родительской, так и дочерней работы.

Может ли кто-нибудь помочь мне в этом. Как можно использовать drageventhandler Child elt.

Большое спасибо.

  • 0
    Прежде всего, на каком языке вы работаете?
  • 0
    HI Zneak, я использую C #.
Теги:
wpf
event-handling
drag

1 ответ

0

Не могу сказать слишком много, не используя более подробные сведения о языке и библиотеке, которую вы используете. Но один общий трюк, который я видел, - убедиться, что вы создаете привязки дочерних элементов перед родительскими элементами, если вы хотите их быть отдельно от родителя...

  • 0
    Привет, спасибо за ваш ответ. Я использую C #. Для дочернего элемента я расширяю класс Panel и использую this.DragEnter, this.DragLeave ..., чтобы назначить ему обработчик события. XAML будет: <Grid> <ExtendedPanel> ... </ ExtendedPanel> </ Grid>. Компилятор сначала инициирует Parent. Как мне создать экземпляр привязки ребенка перед элементом?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню