一般情況下我們寫乙個動畫, 改變視窗的height屬性, 讓視窗隨著時間軸慢慢變大.
doubleanimation a=new
doubleanimation();
a.from
=300
;a.to
=600
;a.duration
=new
duration(timespan.parse(
"0:0:3
"));
this
.beginanimation(mainwindow.heightproperty, a);
但這樣的效果並不是很佳, 因為動畫之後的視窗位置可能不是那麼令人滿意, 因為視窗的上邊緣是一直不動的, 只有下邊緣在往下拉伸. 最後視窗停住的地方也很醜陋:
可能最希望的效果是, 程式執行後, pia~pia~pia~程式上邊框和下邊框同時向兩邊拉伸, 而不是只有下邊框往下方拉伸. 找了半天, 沒有發現動畫直接有某個方法可以這樣設定, 最後只能按照一開始想的那樣: 一邊改變視窗的height, 一般改變視窗的location, 在wpf裡定義視窗在螢幕的位置使用的是top和left屬性.
doubleanimation a=new
doubleanimation();
a.from
=300
;a.to
=600
;a.duration
=new
duration(timespan.parse(
"0:0:3
"));
doubleanimation b
=new
doubleanimation();
b.from
=top;
b.to
=b.from
-150
;b.duration
=new
duration(timespan.parse(
"0:0:3
"));
this
.beginanimation(mainwindow.heightproperty, a);
this
.beginanimation(window.topproperty, b);
這樣一邊把視窗的height從300變到600, 一邊把視窗的位置, 從預設(centerscreen)的位置, 高度慢慢往上提乙個150畫素. 兩個動畫綜合起來, 效果就是視窗兩邊同時拉伸了~~~~f5, 效果想當不錯, 嘿嘿.
不知道大家還有沒有更好的辦法, 這也是本篇技術含量不是很高的部落格存在的目的.
WPF動畫 窗體上下方向同時拉伸
一般情況下我們寫乙個動畫,改變視窗的height屬性,讓視窗隨著時間軸慢慢變大.doubleanimation a new doubleanimation a.from 300 a.to 600 a.duration new duration timespan.parse 0 0 3 this be...
WPF動畫 窗體上下方向同時拉伸
一般情況下我們寫乙個動畫,改變視窗的height屬性,讓視窗隨著時間軸慢慢變大.doubleanimation a new doubleanimation a.from 300 a.to 600 a.duration new duration timespan.parse 0 0 3 this be...
wpf 動畫 WPF中監視動畫進度
前台xaml 1.新增乙個progressbar監視進度,注意這裡最大值設定為1,因為動畫始終clock的currentprocess屬性最大值是1。2.響應故事板的currenttimeinvalidated事件 後台 該事件在動畫前進乙個步長時發生 private void storyboard...