En mi proyecto, estoy enviando la ventana a la bandeja al cerrar. ¿Cómo puedo dar un efecto animado para esto, es decir, el movimiento desde la posición actual de la ventana a la bandeja? Y también al revés, significa que al hacer doble clic en notifyicon en la bandeja, ¿la ventana está llegando al frente?Anima los movimientos de la ventana desde la bandeja
Respuesta
No he hecho mucho en WPF, así que tenlo en cuenta.
Parece que esto se puede hacer a través de la API de Windows usando DrawAnimatedRects como se describe here (Vale la pena leer, ya que pone de relieve algunas de las dificultades)
Esto se ha convertido en VB2005 here
Se puede construir algo que encapsula esta funcionalidad, pero se siente un poco raro para mí. Además, no he intentado acceder a la API directamente desde un proyecto de WPF; asumo que es posible, pero no puedo garantizarlo.
La siguiente mejor sugerencia sería investigar el Windows® API Code Pack for Microsoft® .NET Framework. Todavía no he tenido la oportunidad de profundizar en esto, pero existe la posibilidad de que exponga la funcionalidad de una manera administrada.
En resumen, parece que las otras aplicaciones que incluyen esta funcionalidad lo manejan ellas mismas a través de la API en lugar de depender del marco.
Animar la ventana a la vista cuando se hace doble clic en el icono de la bandeja es bastante fácil porque simplemente puede crear una animación WPF o guión gráfico para mover su ventana desde la posición actual del mouse (justo sobre el icono de la bandeja) querer en la pantalla.
Si agrega una animación de cambio de tamaño y opacidad debería obtener un buen resultado (pero use Storyboard en caso de que varias animaciones se ejecuten juntas).
La animación de la ventana al icono de la bandeja es un poco más complicada porque no se conoce su posición exacta, por lo que la ventana se minimiza en la dirección general de los iconos de la bandeja y se desvanece solo antes de llegar allí o de otra forma.
También puede guardar la posición si el icono de la bandeja cuando se hace clic para abrir la ventana la primera vez, o tratar de obtener la posición real utilizando la API de Windows, que no recomiendo.
Buena suerte.
Bueno, la respuesta rápida a su pregunta sería que no se puede hacerse con WPF. La razón de por qué es que WPF vive dentro del cromo de la ventana que está mostrando, y está tratando de animar el cromo.
Se puede hacer la animación que está tratando de lograr, pero deberá usar las llamadas a la API de Windows para hacerlo. Las sugerencias de Basiclife son un lugar perfecto para comenzar
- 1. Ventana de JavaFX 2.0 a la bandeja
- 2. Restaurar aplicación desde la bandeja del sistema
- 3. Javascript pasando datos desde la ventana de la ventana hijo a la ventana principal, IE error?
- 4. Actualizar la ventana primaria desde la ventana secundaria usando javascript
- 5. Volver a cargar la ventana primaria desde la ventana secundaria
- 6. Actualice la ventana principal desde la ventana secundaria en javascript
- 7. Buscar la bandeja de entrada de Bluetooth
- 8. Enviar a la bandeja al cerrar
- 9. Obtener System.Windows.Forms.IWin32Window desde la ventana de WPF
- 10. Notificaciones Nicer en la bandeja
- 11. ¿Cómo se inicia la aplicación WinForm minimizada en la bandeja?
- 12. .NET Minimizar en la bandeja Y Minimizar los recursos necesarios
- 13. Determinar la ubicación del icono de bandeja
- 14. Ocultar la ventana de la consola desde Process.Start C#
- 15. WPF. Cómo ocultar/mostrar la ventana principal desde otra ventana
- 16. ¿Cómo llamar al método de la ventana principal de WPF desde la ventana modal?
- 17. Restricciones de movimientos de UIGestureRecognizer
- 18. depuración multiproceso desde la ventana inmediata
- 19. ¿Cómo cerrar fancybox desde la ventana secundaria?
- 20. Icono de la bandeja del sistema en C++
- 21. registrar los movimientos del mouse, los clics y la entrada del teclado con Java o C++
- 22. JavaFX aplicación en la bandeja del sistema
- 23. Abriendo programáticamente la bandeja de CD
- 24. referencia a la bandeja de entrada adicional
- 25. ¿Cómo acelerar la ventana "Verificar los requisitos de la aplicación"?
- 26. Icono de bandeja parpadeante
- 27. CABasicAnimation no anima mi propiedad
- 28. C# Liberando el texto notifyIcons (íconos de la bandeja)
- 29. jQuery animado, no anima
- 30. ¿Cómo se anima FB.Canvas.scrollTo?