2012-02-08 11 views
21

Quiero aplicar animación de fundido cada vez que se muestra mi ventana. ¿Cómo hacer eso desde xaml? Esa ventana se puede ocultar y luego volver a mostrar, por lo que no puedo usar el evento Loaded.Evento de ventana mostrado en WPF?

+3

caso IsVisibleChanged? – jjrdk

+0

Mire esta pregunta, puede ser esto ayudará: http://stackoverflow.com/questions/867656/fading-out-a-wpf-window-on-close – Seekeer

Respuesta

37

Usted puede utilizar el evento ContentRendered o anular método virtual OnContentRendered así:

bool _shown; 

    protected override void OnContentRendered(EventArgs e) 
    { 
     base.OnContentRendered(e); 

     if (_shown) 
      return; 

     _shown = true; 

     // Your code here. 
    } 
+0

Funciona para mí :) ¡Gracias! – dba

+1

¿Es realmente necesario usar la variable _shown? ¿Se puede invocar dos veces o más? –