WPF後台動畫DoubleAnimation講解

2022-09-05 03:15:15 字數 2190 閱讀 1134

wpf後台動畫,使用doubleanimation做的。

1.移動動畫

需要引數(目標點離最上邊的位置,目標點離最左邊的位置,元素名稱)

image mimage = new image();

floatinelement(100,100,mimage);

1

///2

///移動動畫

3///

4///

目標點相對於上端的位置

5///

目標點相對於左端的位置

6///

移動元素

7public

static

void floatinelement(double top, double

left, uielement elem)8;

16 doubleanimation floatx = new

doubleanimation()17;

2122

elem.beginanimation(canvas.topproperty, floaty);

23elem.beginanimation(canvas.leftproperty, floatx);24}

25catch

(exception)

2630 }

2.透明度動畫

需要引數(元素名稱,需要到達的透明度)

image mimage = new image();

floatinelement(mimage,0);

1

///2

///透明度動畫

3///

4///

5///

6public

static

void floatelement(uielement elem, double

to)7

14 doubleanimation opacity = new

doubleanimation()15;

19 eventhandler handler = null

;20 opacity.completed += handler = (s, e) =>

2127 opacity = null;28

};29

elem.beginanimation(uielement.opacityproperty, opacity);30}

31 }

3.緩動動畫-縮放動畫

需要引數(控制項名稱,元素開始的位置,開始大小,目標大小)

image mimage = new image();

scaleeasinganimationshow(mimage,new point(0.5,0.5),1,0);

元素開始的位置是從new point(0,0)到new point(1,1),左上角為(0,0)、右下角為(1,1),控制項大小範圍為(1,0) 1為控制項本身大小,0 為控制項縮放完,不顯示。

如果要改動畫型別,則改easingmode = easingmode.easeout

1

///2

///使用者控制項是的動畫

3///

4///

控制項名5

///元素開始動畫的位置

6///

元素開始的大小

7///

元素到達的大小

8public

static

void scaleeasinganimationshow(frameworkelement element, point point, double

from, double

to)9

;20 doubleanimation scaleanimation = new

doubleanimation()21;

27 animationclock clock =scaleanimation.createclock();

282930}

31 }

wpf 動畫 WPF中監視動畫進度

前台xaml 1.新增乙個progressbar監視進度,注意這裡最大值設定為1,因為動畫始終clock的currentprocess屬性最大值是1。2.響應故事板的currenttimeinvalidated事件 後台 該事件在動畫前進乙個步長時發生 private void storyboard...

wpf動畫概述

windows presentation foundation wpf 提供了一組強大的圖形和布局功能,通過應用這些功能,可以建立漂亮的使用者介面和吸引人的文件。動畫不僅可以使漂亮的使用者介面更加引人注目,還可以使其更加便於使用。只需對背景色進行動畫處理或應用動畫transform,就可以創造出生動...

WPF 動畫收縮選單

原文 做wpf專案的時候,有時候為了突出詳細內容。我們需要把選單功能隱藏掉。如果簡單的隱藏顯示我們直接用 visibility hidden visibility visible 物件名.visibility new system.windows.visibility 即可解決問題。軟體使用者體驗是...