Tengo un desencadenador IsMouseOver en mi elemento. También tengo una acción de arrastre, donde otro elemento captura el mouse y, por lo tanto, el desencadenante IsMouseOver nunca ocurre, pero explícitamente quiero que ocurra en ciertos elementos cuando lo arrastro (mouse capturado y todo). es posible?IsMouseOver cuando el mouse se ha capturado
Respuesta
Cuando el usuario está arrastrando algo, el mouse se "captura" durante ese momento y los eventos del mouse no se envían a los controles sobre los que pasa el mouse. Solo el control que realmente "capturó el mouse" recibe eventos del mouse. Por lo tanto, necesita manejar esos eventos allí. Esto debería ser fácil. Si tiene algún problema, no dude en enviarme un código de muestra y lo verificaré por usted. Los mejores deseos.
Sé que esto fue preguntado hace años, pero por si acaso alguien aterriza aquí desde un motor de búsqueda (como yo), aquí es cómo resolví el problema por mí mismo. En lugar de utilizar IsMouseOver
propiedad, uso de pruebas de golpe en su código para determinar si el ratón está dentro de su control:
bool IsMouseOverEx = false;
VisualTreeHelper.HitTest(this, d =>
{
if (d == this)
{
IsMouseOverEx = true;
return HitTestFilterBehavior.Stop;
}
else
return HitTestFilterBehavior.Continue;
},
ht => HitTestResultBehavior.Stop,
new PointHitTestParameters(Mouse.GetPosition(this)));
if (IsMouseOverEx)
{
//Do whatever you need in case of MouseOver
}
N. B. Si no ha leído la pregunta, tenga en cuenta que este método es una solución para situaciones en las que el mouse está "capturado" y, por lo tanto, la propiedad IsMouseOver
no funciona correctamente. En situaciones normales, siempre debe usar IsMouseOver
.
- 1. WPF: Código de inicio cuando IsMouseOver ComboBoxItem
- 2. Rejilla WPF Propiedad IsMouseOver
- 3. Eventos de mouse Java ignorados cuando el mouse se mueve?
- 4. Detectando cuando el mouse no se mueve
- 5. cuando se ha activado window.onload
- 6. ¿Se ha disparado el UIControlEventValueChanged cuando se está animando UISlider?
- 7. Cambiar el puntero del mouse cuando se llama ajax
- 8. Jquery Fade In cuando el mouse se acerca al elemento
- 9. SVG: ejecutar el script cuando el documento se ha cargado
- 10. excepción ha sido capturado durante el procesamiento de la refactorización 'Cambiar el nombre de paquete'
- 11. Detectando cuando scrollView se ha desplazado
- 12. ¿Alguien ha hecho crosshairs que siguen el mouse en JFreeChart?
- 13. ¿Qué se ha hecho cuando URL.openconnection()?
- 14. Jquery: cómo hacer que algo se desvanezca cuando el mouse está inactivo. Cuando el mouse se mueve de nuevo, ¡se desvanece!
- 15. ¿Cómo se puede ocultar url en el hipervínculo cuando se desplaza el mouse
- 16. jQuery no se activa cuando el elemento se mueve programáticamente con el mouse
- 17. ¿Cómo detectar si el mouse se está moviendo cuando se dispara el mouseup?
- 18. ¿Cómo hacer que un div desaparezca al pasar el mouse sin que parpadee cuando se mueve el mouse?
- 19. Flex 3: ¿Cómo puedo cambiar el Cursor del mouse cuando se pasa el mouse sobre una entrada de texto?
- 20. Cambio en la posición del mouse cuando se agrega viewbox
- 21. ¿Cómo cambio el cursor del mouse cuando el botón izquierdo del mouse está presionado?
- 22. función cuando el sonido ha terminado
- 23. ¿Cambiar el color del texto cuando se pasa el mouse sobre el texto con Tkinter?
- 24. mouseExited no se llama cuando el mouse abandona trackingArea mientras se desplaza
- 25. ¿Cómo se emite una señal desde QPushButton cuando el mouse se cierne sobre ella?
- 26. La función jQuery mouseleave no se activa cuando el mouse se mueve rápidamente
- 27. ¿Por qué el temporizador local capturado no saldrá del alcance?
- 28. Generar WSDL para el servicio SOAP existente utilizando tráfico capturado
- 29. Vim/MacVim: cuando me desplazo con el mouse, ¡el cursor de texto también se mueve!
- 30. Webkit y Safari disparan el mousemove incluso cuando el mouse no se mueve
¿Encontró la respuesta a su pregunta? –