動態的改變Row或Column的大小應該是常常要用到的功能,可是Silverlight又不能像WPF一樣自訂一個新的GridLength動畫出來,那~~只好用騙的了!!
我們可以透過一個型別為double的DependencyProperty來套用DoubleAnimation,並且在它的值改變的時候,利用程式將它轉為GridLength,這樣就可以做到我們要的效果了。
動態的改變Row或Column的大小應該是常常要用到的功能,可是Silverlight又不能像WPF一樣自訂一個新的GridLength動畫出來,那~~只好用騙的了!!
我們可以透過一個型別為double的DependencyProperty來套用DoubleAnimation,並且在它的值改變的時候,利用程式將它轉為GridLength,這樣就可以做到我們要的效果了。
來個範例:
程式碼如下:
不過,這樣做有一個很大的缺點,就是在Blend中想編輯該Storyboard的時候,Blend會認為XAML有誤,而沒辦法編輯,只能乖乖的去Key XAML了。
雖然不是很完美,但是這樣至少還是可以達到動畫切換Grid中Row和Column大小的效果,在研究出更好的方式前,就先將就著用吧 >"<
另外一併附上專案原始檔,請服用: