Estoy tratando de agregar un efecto de desvanecimiento (animación) para WPF UserControls
(aunque más bien para FrameworkElement
, para hacerlo más general).¿Qué evento se dispara cuando se muestra un UserControl?
Si dejo que el evento Loaded
active el fundido de entrada inicial, la animación de fundido a veces habrá comenzado antes de que se muestre el UserControl. El resultado es un desastre. Eso sucede, por ejemplo, si el UserControl hace algo largo (algunas décimas de segundo), como ejecutar una consulta, en el controlador de eventos Loaded.
Por lo tanto, necesitaría manejar algún evento que FrameworkElement/UserControl obtenga cuando se haya procesado el contenido, y luego iniciar el fade-in. El System.Windows.Window
tiene un evento ContentRendered
, pero UserControl no. Entonces, ¿qué evento se dispara cuando se ha procesado FrameworkElement (o UserControl)?
No, el elemento tiene IsVisible == true ya en el controlador de eventos Loaded. – Batibix
Lástima, ¿qué hay de desencadenar su fundido manualmente cuando se completa su trabajo inicial? –
El problema es: ¿dónde debo activarlo? Después de que se maneja el evento Loaded, algo largo todavía tiene lugar. Probablemente sea un enlace de datos de WPF que active la carga de Entity Framework desde la base de datos en algún lugar entre el evento Loaded y la visualización del UserControl. – Batibix