Я часто использую свойство IsMouseOver
в своей программе WPF. К сожалению, у меня есть другие визуальные элементы из других ветвей визуального дерева, которые иногда закрывают мои элементы управления. Когда они закрывают мои элементы управления, IsMouseOver
становится ложным для моих элементов управления, даже когда моя мышь находится над закрытым элементом управления.
Как мой элемент управления может иметь такое свойство, как IsMouseOver
, которому все равно, скрыто ли оно в месте расположения курсора? Как тест на удар, который может туннелировать брошенные крышки.
Я просмотрел это решение но я не думаю, что смогу его использовать, потому что он в основном использует опрос каждый раз, когда перемещается мышь. Я думаю, что это значительно замедлит мою программу, потому что мое визуальное дерево обширно.
Обратите внимание, что визуальные элементы, которые закрывают мои элементы управления, не являются дочерними элементами моих элементов управления.
Редактировать: Установка IsHitTestVisible
в false для элемента, выполняющего покрытие, была бы очень хорошим решением, но когда я это делаю, элемент покрытия вообще не взаимодействует с мышью. Мне нужно, чтобы и закрытые, и закрывающие элементы реагировали на мышь.
IsMouseOver
. Я хочу использовать что-то подобное, хотя. Многие из моих элементов управления должны менять свой внешний вид при наведении на них указателя мыши. К сожалению, такие вещи, как большие прозрачные оверлеи и декоративные элементы выделения с пунктирными линиями, иногда закрывают часть моих элементов управления. Когда мышь наводится на эти объекты,IsMouseOver
становится ложным, а базовый элемент управления изменяется так, как будто мышь не наводит на него курсор. Это выглядит плохо и запутанно. - person davidbludlow   schedule 09.08.2013