日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Expression Blend实例中文教程(9) - 行为快速入门Behaviors

發布時間:2025/5/22 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Expression Blend实例中文教程(9) - 行为快速入门Behaviors 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

在Blend強大的設計功能支持下,設計人員和開發人員可以無代碼實現Silverlight/WPF動畫效果,例如上文介紹的StoryBoard,就是一個典型例子,設計人員和開發人員僅需提供必要元素,即可實現簡單動畫。通常來說,在一個項目中會經常出現重復的動畫或者相似的動畫,如果每次都創建一個新的StoryBoard,這樣顯著項目代碼十分臃腫,而且有時還會影響項目運行效率。另外在多個項目中都會用到一個相同的動畫效果,如果能把這個動畫效果編譯成通用類提供調用,也就可以達到事半功倍的效果。為了解決以上問題,微軟在Silverlight 3中推出一個新的特性,叫做Behavior,也稱為行為。本文帶著大家快速學習掌握Behavior在Blend中的使用。

在開始學習前,首先需要了解一下Behaviors(行為)的幾個關鍵點:

?

(1)Behaviors(行為)是可復用代碼集合,可以被任何對象附加使用;

(2)設計人員和開發人員可以使用Behaviors(行為)在不用設計任何代碼的情況下,添加相關功能到XAML中;

(3)Behaviors(行為)可以通過XAML附加到任何對象元素中,無需設計任何后臺代碼;

(4)一個Behaviors(行為)可以被多個對象同時調用;

?

快速了解Behaviors(行為)概念

Behaviors(行為),我們可以簡單的理解為用戶交互通用類,或者一個Usercontrol,使用“行為”主要是為了簡化設計人員和開發人員的工作,提供一種可重復使用的用戶交互代碼。創建成功后,一旦發布,即可在Blend中使用拖拽操作將該行為應用到不同項目中。記得曾經有網友問過,Behavior(行為)從哪里聲明調用?其命名空間在哪里? 前文我們提及過,Behaviors(行為)是Silverlight 3的新功能,是為了提供可復用用戶界面代碼,而這些代碼的調用被集成到Expression Blend視圖設計中,也就是說Blend是當前最簡單調用Behaviors(行為)的設計工具,于是微軟將Behaviors(行為)類庫封裝到Expression Blend 3中和Expression Blend 3 SDK中,安裝以上工具成功后,就可以獲得Behaviors(行為)支持。在Blend 3安裝成功后,可以在c:\Programe Files\Microsoft SDKs\Expression\Blend 3\Interactivity\Libraries\Silverlight中發現兩個DLL文件,分別是:

System.Windows.Interactivity.dll,該鏈接庫定義了Behaviors(行為)基礎類,有了該鏈接庫支持,即可支持Behaviors(行為);

Microsoft.Expression.Interactions.dll,該鏈接庫提供了一些擴展行為類庫,以及一些Action和Trigger類,作為演示實例;

?

Behaviors(行為)的構成

Behaviors(行為)是由三個基礎類構成的,Trigger(觸發器),Action(行動)和Behavior(行為),被統稱Behaviors(行為)。在Silverlight項目設計中,暫時沒有工具支持視圖設計Trigger(觸發器)和Action(行動),所以,設計和使用這兩個類,只能手動輸入代碼。從上圖可以看出Trigger(觸發器)和Action(行動)的使用,通常來說當用戶進行相關操作的時候,會調用對應Action,這時觸發器會被激活。由于本系列主要介紹Blend的相關應用,這里對于Trigger(觸發器)和Action(行動)的代碼設計不再進行詳細說明。

?

Behaviors(行為)在Blend中的使用

我將以上文StoryBoard動畫例程為基礎,對Behavior調用進行演示。

?

首先打開StoryBoardDemo項目,

?

在左邊項目欄中,選擇"Assets“選項,如果沒有該選項,可以到菜單"Window“中,選擇顯示"Assets”,這時會在Assets中列出,項目,控件,樣式,行為等選項;

?

?

選中“Behaviors”,會看到一些現成的Behavior類庫,當把鼠標放在類庫名上,會彈出提示框,說明該Behaviors(行為)的功能。這里僅列出了八個Behaviors(行為),在Expression官方網站還有更多免費的Behavior(行為)大家可以自行下載使用。點擊圖中“Expression Gallery”或者訪問這里。

?

ChangePropertyAction,該Behaviors屬于Microsoft.Expression.Interactions.dll中的Action類,利用反射改變屬性值;

GoToStateAction,該Behaviors屬于Microsoft.Expression.Interactions.dll中的Action類,將一個控件轉換到指定Visual State;

HyperlinkAction,該Behaviors屬于Microsoft.Expression.Interactions.dll中的Action類,導航切換到指定頁面鏈接;

RemoveElementAction,該Behaviors屬于Microsoft.Expression.Interactions.dll中的Action類,從UI界面移除一個控件;

PlaySoundAction,該Behaviors屬于Microsoft.Expression.Interactions.dll中的Action類,播放音樂;

ControlStoryBoardAction,該Behaviors屬于Microsoft.Expression.Interactions.dll中的Action類,控制動畫開始,停止,暫停,恢復等;

MouseDragElementBehavior,該Behaviors屬于Microsoft.Expression.Interactions.dll中的Behavior類,允許用戶在頁面內拖拽控件;

FluidMoveBehavior,該Behaviors屬于Microsoft.Expression.Interactions.dll中的Behavior類,使用平滑的動畫效果顯示指定控件隨著布局的改變而改變;

?

我們選中任意一項進行演示,例如PlaySoundAction,

首先添加一個按鈕到主設計頁面,方便激活行為。

?

從左邊Assets菜單中,選中“PlaySoundAction”,將其拖拽到播放音樂按鈕上,

?

?

隨后,查看“object and Timeline”窗口,在button控件下,會顯示一個“PlaySoundAction”選項,

?

選中“PlaySoundAction”選項后,看右邊Properties屬性框,會顯示激活的Trigger”觸發器和“Common Properties”屬性

?

Trigger選項中,SourceName是指激活該行為的控件名稱,因為我們前面將行為拖拽到按鈕button上,所以這里控件名為button,EventName是激活行為的事件,默認的按鈕事件為Click點擊事件。

也可以根據控件的不同,選擇以上不同的事件進行行為激活。

?

在通用屬性中,Source是這要播放的音樂路徑,Volume是指音量。這里沒有特殊的解釋。而最后IsEnabled,是指該行為是否可用,默認為可用狀態。

?

這樣,我們可以F5編譯,運行后,點擊“播放音樂”按鈕,即可聽到設置的音樂。

?

Behaviors(行為)快速入門,暫時寫到這里。大家可以嘗試根據以上步驟使用不同Behaviors,在以后的文章高級系列中,將介紹如何創建自定義Behaviors(行為)。

歡迎各位加入專注Silverlight技術QQ群:超級群37891947,22308706,100844510 一起討論學習Silverlight技術。

轉載于:https://www.cnblogs.com/jv9/archive/2010/04/03/1703554.html

總結

以上是生活随笔為你收集整理的Expression Blend实例中文教程(9) - 行为快速入门Behaviors的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。