比方說,我有一個可視對象(CustomControls)的列表。他們可能在一個StackPanel內或者是ListView上的項目,我認爲這個容器是這個問題答案的一部分。WPF:如何動畫組件列表?
從視覺上來說,您可以將這些對象視爲隊列中的項目。每當我從這個隊列的底部彈出一個對象時,我想用彈出的對象離開視圖框架和新的對象(假設查看框架只顯示一個子集)來動畫整個隊列,其餘的元素。
什麼是創建這個動畫的最佳方法,什麼是最好的容器?
比方說,我有一個可視對象(CustomControls)的列表。他們可能在一個StackPanel內或者是ListView上的項目,我認爲這個容器是這個問題答案的一部分。WPF:如何動畫組件列表?
從視覺上來說,您可以將這些對象視爲隊列中的項目。每當我從這個隊列的底部彈出一個對象時,我想用彈出的對象離開視圖框架和新的對象(假設查看框架只顯示一個子集)來動畫整個隊列,其餘的元素。
什麼是創建這個動畫的最佳方法,什麼是最好的容器?
看一看凱文摩爾的AnimatingTilePanel。當元素添加到面板或從面板中刪除元素時,剩下的項目會動畫化以移出或佔據左側空間。除了基於StackPanel邏輯之外,你會想做類似的事情。
儘管如此,你想要解決這個問題。第二個可能會容易得多。
最後,這個想法是,你根本不需要創建一個自定義的ListBox控件。您與ListBox的交互(通過它的Items屬性或最好是綁定的集合)將與完全沒有動畫完全相同。您將依靠自定義Panel類來完成提供動畫的工作。
UPDATE
我也發現了這個樣本,AnimatedLayoutPanel這是非常相似,但有一個很好的基於Silverlight的展示。
第一個環節是壞的:( – metao 2010-06-04 07:06:25