我正在嘗試一個簡單的動畫,在彼此頂部滑動的問題是,我不知道什麼時候設置幻燈片放映的新圖片的可見性。我不想在動畫開始之前在頂部顯示圖片。序列就像這樣,屏幕上有一張拉伸的圖片,然後另一幅尺寸相同的圖片滑入前一張圖片的頂部。與舊圖片相比,新圖片將具有更高的Z-index。我設置了一個故事板,並將新圖片的可見性隱藏起來。那麼,我什麼時候可以看到新圖片呢?撥打StoryBoard.Begin(MyNewPicture)
之前是否正確?因此,它成爲WPF:什麼是正確的方式,使一個UIElement正確的時刻,當一個故事板開始
//create picture object
//...
MyNewPicture.Visibility = Visiblity.Hidden;
//do some intialisation, and create StoryBoard
//...
MyNewPicture.Visibility = Visibility.Visible;
MyStoryBoard.Begin(MyNewPicture);`
這工作我快的計算機上,但我不知道,如果我一個緩慢的計算機上運行它,如果有某種性能減慢/屏幕滯後等,將使其新當動畫開始之前,圖片在其變得可見時會覆蓋它下面的圖片?這會在屏幕上產生不希望的閃爍。
或者我應該把可見性作爲動畫的一部分嗎?請看看這個answer到其他人以前稍微類似的問題。我應該在Xaml中使用ObjectAnimationUsingKeyFrames嗎?請注意,一旦動畫開始,新圖片應該可見(永遠),在我的情況下不需要切換可視性。我只想讓新圖片在動畫開始時而不是動畫之前可見(否則會阻止前一張圖片)。
您還可以爲圖片的不透明度屬性(從0到100)設置動畫,因此您不必使用ObjectAnimationUsingKeyFrames。我會建議改變故事板中的可見性/不透明度,這應該防止閃爍。 –
我試圖滑動圖片,所以它正在移動:)但是,是的,這是一個很好的建議 –
使用BeginTime(TimeLine屬性),您可以先將不透明度設置爲100,然後移動圖片。 –