Evento de clic de mouse de WPF
-
06-07-2019 - |
Pregunta
Sé que hay un evento de clic del mouse para cada control, pero ¿hay alguna manera de determinar cuándo el clic del mouse no está en el control?
Solución
puede usar este código para encontrar todos los controles o el tipo de elemento visual objetivo en la ventana y manejar los eventos del mouse.
Otros consejos
puede verificar que IsMouseOver sea falso, y si desea enganchar una acción cuando IsMouseOver == falso, puede anular los metadatos de ese dp.
Puede llamar a CaptureMouse y luego ese objeto recibirá todos los eventos del mouse. Luego puede determinar desde el punto del mouse hacia abajo si estaba dentro de los límites de su control o no. O puede escuchar el evento LostMouseCapture en su lugar.
Esto no funcionará para el evento Click
(porque no hay una versión de túnel, solo una versión burbujeante), pero puede manejar el PreviewMouseLeftButtonDown
enrutado en el < code> Window y compruebe si el control de destino está en el árbol de visitas.