Событие мыши не достигает UIElement - PullRequest
1 голос
/ 18 октября 2010

У меня есть сетка 6х8 из System.Windows.Controls.Canvas объектов.Верхний левый холст не получает события мыши, как все остальные.Я пробовал события OnMouseMove и OnMouseClick.

Дочерний объект не обрабатывает событие, потому что System.Windows.Media.VisualTreeHelper#GetChildrenCount() не показывает дочерних объектов.Я тоже не смог поймать PreviewOnMouseMove.Может ли быть какой-нибудь (возможно, прозрачный) элемент управления перед моим холстом, который имеет приоритет?

Ответы [ 2 ]

0 голосов
/ 20 октября 2010

Наконец-то нашли решение. У каждого из Canvas есть Adorner с. Согласно этой статье MSDN , украшатели получают события мыши раньше, чем соответствующий элемент пользовательского интерфейса. Я установил свойство IsHitTestVisible всех моих украшателей на false.

0 голосов
/ 18 октября 2010

Надеюсь, это вам поможет. Просто установите значение Transparent для свойства Background для Canvas:

Background="Transparent"

Удачи!

...