2014-09-10 38 views
0

我正在爲「菜單面板」創建動畫。這個動畫應該在點擊按鈕後執行,但這是問題所在。我有一個按鈕應該執行兩個動畫。有什麼辦法,如何檢測,如果已經執行了變換,並確定點擊後要執行哪一個?WPF - 如何檢測是否執行了變換

喜歡的東西:

if (DataPanel.Transformed) //what atribute to check? 
     { 
      ((Storyboard)Resources["dataPanelHideSB"]).Begin(); 
     } 
     else 
     { 
      ((Storyboard)Resources["dataPanelShowSB"]).Begin(); 
     } 

之前動畫實現我用保證金支票來決定,如果面板被隱藏,但內TranslateTransform受到影響realWidth/realHeight,這我不能比較(?) 。

前版本:

if (DataPanel.Margin.Top != 0) 
     { 
      DataPanel.Margin = new Thickness(0, ((Window.Current.Bounds.Height/6) * 4), 0, -((Window.Current.Bounds.Height/6) * 4)); 
     } 
     else 
     { 
      DataPanel.Margin = new Thickness(0, 0, 0, 0); 
     } 

回答

0

我只是張貼了這個問題後,看着辦吧。解決方案很簡單:

if(((Storyboard)Resources["dataPanelShowSB"]).GetCurrentState() == ClockState.Filling) 
    { 
     ((Storyboard)Resources["dataPanelHideSB"]).Begin(); 
     ((Storyboard)Resources["dataPanelShowSB"]).Stop(); 
    } 
    else 
    { 
     ((Storyboard)Resources["dataPanelShowSB"]).Begin(); 
    } 
相關問題