Вопрос

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

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

Это было полезно?

Решение 2

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

Другие советы

Я надеюсь, что это поможет вам, просто установлено Transparent ценность к тому Background Собственность для Canvas:

Background="Transparent"

Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top