在編寫WPF控件時,有一些動畫效果及模板樣式我們憑着想象或僅從別人那里Copy的代碼在達到的效果上可能不盡如意。在Blend中可以較為直觀的去實現。下面我將對Blend分為三部分進行講解:動畫、視覺管理、模板。本文為實用性簡述。
https://docs.microsoft.com/zh-cn/visualstudio/designers/creating-a-ui-by-using-blend-for-visual-studio?view=vs-2015&redirectedfrom=MSDN
一、動畫
繼承自:System.Windows.Media.Animation.TimeLine
該類有以下屬性:
1.AutoReverse 類型:bool true:正序運行一次反序運行一次
2.BeginTime Nullable<TimeSpan> null:無起始時間點
3.Duration System.Window.Duration 動畫的運行周期 0:0:5 五秒
4.FillBehavior Animation.FillBehavior 獲取或設置一個值,指定運動結束的行為方式 默認HoleEnd;Stop則相反,不保留結束值
5.RepeatBehavior Animation.RepeatBehavior 重播次數 如果設置RepeatBehavior.Count=1.5x(x是倍數的含義,又稱迭代),該動畫將完整的運行一次,然后在運行一 半動畫。
6.SpeedRatio屬性 Double 該屬性用來控制動畫速率,默認為1.0.如果設置速率大於1.0,則動畫速度會變快,反之,動畫速度會變慢
原理
動畫分類
1.From/To/By動畫,根據處理的數據類型分為 :DoubleAnimation、ColorAnimation、PointAnimation
2.關鍵幀動畫:關鍵幀和動畫控制 。關鍵幀:在某一點控制屬性;動畫控制:控制動畫過渡效果:Linear/Diacrete/Spline
根據處理的數據類型分為:DoubleAnimationUsingKeyFrames、ColorAnimationUsingKeyFrames、 PointAnimationUsingKeyFrames、ObjectAnimationUsingKeyFrames
blend操作
StoryBoard:管理時間線的類。功能:管理和控制動畫進程;為動畫指定控件及控件屬性
面板:【對象和時間線】>> 點擊+號,新建StoryBoard>>在【屬性面板】中設置控件屬性及控件下一層RenderTransform運動軌跡
二、視覺管理器
xmal代碼中的樣式及在不同狀態下的樣式設計。
Blend 操作
1.【對象和時間線】面板》》選中控件右鍵 》編輯模板副本...
2.【狀態】面板 》選中狀態》【屬性】面板中添加不同狀態的過渡樣式
三、模板
Style和ControlTemplate
Blend操作
Style:
新建:編輯模板》》資源字典 》設置各項屬性及不同狀態的樣式
在其他控件上應用:選中控件》》編輯模板》》應用資源
ControlTemplate:作用是重新定義控件的視覺效果和觸發狀態
選中繪制的圖形或控件》》(菜單)工具》》構成控件
