昨天我沒有得到答案,但也許我對這個問題的理解不夠深入,無法形成正確的問題。故事板動畫中的錯誤?
故事是關於動畫列表框高度的動畫。下面是隨後的屏幕截圖:
一) 「中」 是一個TextBlock
b)中 「中等」 的TextBlock得到由列表框代替。用戶選擇一個項目。這啓動了ListBox.Height的動畫。動畫完成後,ListBox將被原始TextBlock替換。 (忽略數據的差異。圖像的採集是不好受的過程,那時我有渲染的幀的工作。其中一個圖像被槍殺了不同的記錄。)
該序列偶爾閃爍。我想知道這是怎麼回事,一段時間後,我得到這個截圖:
你看到的是後Storyboard.Completed事件被截獲的第一幀。據我所知,這是故事板的最終結果。
注:
我查了可視化樹在這一瞬間,並沒有發現什麼suspiceous。
這只是發生的效果之一。另一種常見的情況是帶有藍色陰影的調整大小的1行ListBox;在這種情況下,列表框上的所有元素都消失了。第三種可能性是整個屏幕上的對角紅線。
這裏是代碼定義的故事板:
private Storyboard GetDropDownAnimation(double from, double to)
{
double secs = this.IsExpanded ? 0.2 : 0.4;
CubicEase ease = new CubicEase() { EasingMode = EasingMode.EaseInOut };
DoubleAnimation animation = new DoubleAnimation()
{
Duration = new Duration(TimeSpan.FromSeconds(secs)),
From = from,
To = to,
FillBehavior = FillBehavior.HoldEnd,
EasingFunction = ease
};
Debug.WriteLine("Animation Height {0} -> {1}", from, to);
Storyboard.SetTarget(animation, this);
Storyboard.SetTargetProperty(animation, new PropertyPath("Height"));
Storyboard sb = new Storyboard();
sb.Children.Add(animation);
return sb;
}
我可以解釋其他的技巧進行(很長一段時間我認爲這個問題是存在的),但它看起來像問題的擔憂只有動畫本身。
任何人都可以解釋發生了什麼事?
我想你是指這些? http://silverlight.codeplex.com/ –
@克勞斯約根森,是的,謝謝!我的年齡很老。我更新了鏈接。 –
我查了一下我腦子裏想到的一切。從/到動畫值被打印到調試輸出,我傾銷視覺樹等一切正常。順便說一句,錯誤的「來自」的價值無法解釋觀察到的效果。 –