Что мне действительно нужно, так это версия IsHitTestVisible, которая игнорирует события мыши click , но все еще удерживает мышь , вводит и оставляет события.
Фон: всплывающее информационное наложениепод контролем с фокусом всякий раз.Это требование, поэтому я не могу удалить это поведение.Это реализовано с помощью украшения, содержащего форму прямоугольника, заполненного кистью изображения.Все элементы управления создаются программно, без участия XAML.
Желаемое поведение: когда пользователь наводит курсор на прямоугольник, он должен стать частично прозрачным.Это сделано для того, чтобы они могли видеть другие элементы управления под наложением и щелкать по ним.Когда пользователь нажимает на оверлей, щелчок должен передаваться любому элементу управления под оверлеем, там, где пользователь щелкнул.
Проблема: если для IsHitTestVisible установить значение True, чтобы позволить щелчкам мыши проходить, я не получаю события MouseEnter.
Есть ли простой способ оставить IsHitTestVisibleВерно, а затем передать все, кроме 2-3 событий на правильный контроль под обожателем?Я ищу решение, которое не включает вычисление того, какой элемент управления находится под курсором, поскольку WPF явно способен сделать это для меня.
В качестве альтернативы, можно ли установить IsHitTestVisible в False, но затем использовать другой простой методопределить, когда мышь находится над украшателем?
ОБНОВЛЕНИЕ : Я все еще надеюсь на ответ, но на данный момент наиболее многообещающим решением кажется оставить IsHitTestVisible true и использовать API-интерфейсы тестирования совпадений WPF, чтобы выяснить, какой типконтроль был под курсором мыши;если бы это был тот, о котором я знаю, я бы отправил ему команду Click.Не уверен, стоит ли это делать, хотя;на данный момент нажатие отменяет мой оверлей, поэтому пользователь просто должен щелкнуть дважды.
Спасибо!