2012-02-08 81 views
21

我想在每次顯示窗口時應用淡入淡出動畫。如何從xaml做到這一點?該窗口可以隱藏,然後再次顯示,因此我不能使用Loaded事件。窗口顯示WPF中的事件?

+3

IsVisibleChanged在事件? – jjrdk 2012-02-08 10:17:59

+0

看看這個問題,可能會有所幫助: http://stackoverflow.com/questions/867656/fading-out-a-wpf-window-on-close – Seekeer 2012-02-08 10:29:38

回答

37

可以使用ContentRendered事件或重寫這樣OnContentRendered虛方法:

bool _shown; 

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

     if (_shown) 
      return; 

     _shown = true; 

     // Your code here. 
    } 
+0

適合我:)謝謝! – dba 2016-03-01 13:18:42

+1

真的需要使用_shown變量嗎?可以渲染被稱爲兩次或更多? – 2017-07-26 16:01:52