2012-02-08 20 views
21

Chcę zastosować animację zaniku za każdym razem, gdy wyświetlane jest moje okno. Jak to zrobić z xaml? To okno może zostać ukryte, a następnie wyświetlone ponownie, więc nie mogę użyć zdarzenia Loaded.Wyświetlane zdarzenie okna w WPF?

+3

IsVisibleChanged wydarzenie? – jjrdk

+0

Spójrz na to pytanie, może to pomoże: http://stackoverflow.com/questions/867656/fading-out-a-wpf-window-on-close – Seekeer

Odpowiedz

37

Można użyć zdarzenia ContentRendered lub nadpisać OnContentRendered wirtualną metodę tak:

bool _shown; 

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

     if (_shown) 
      return; 

     _shown = true; 

     // Your code here. 
    } 
+0

Działa dla mnie :) Dziękujemy! – dba

+1

Czy naprawdę potrzebna jest zmienna _shown? Czy renderowanie może być wywołane dwa razy lub więcej? –

Powiązane problemy