自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Silverlight鼠標滾動事件全方位解讀

開發(fā) 開發(fā)工具
Silverlight鼠標滾動事件的展示其實比較簡單。即使是初學者。也能夠在幾分鐘之內輕松的完成這一方法。首先我們就先來弄清行為的編寫方式。

Silverlight的出現(xiàn),給我們帶來了一個全新的程序編寫環(huán)境。其在音頻視頻方面的處理是相當強大的。展示一個Silverlight鼠標滾動事件的示例只需要幾行代碼即可,我認為大部分人都可以在幾分鐘內做好,并理解它是如何工作的。因此我決定將這個事件和Expression Blend中引入的新行為一起合并成一個例子進行介紹,本文主要介紹如何創(chuàng)建行為,如何使用鼠標滾動事件,以及如何將其添加到可滾動的控件上,以便使用鼠標滾輪。#t#

Silverlight鼠標滾動事件的行為是什么?

你可能曾經(jīng)在ASP.NET Ajax框架中使用過行為,說得簡單點這里的行為就是ASP.NET Ajax語法的Silverlight實現(xiàn),允許創(chuàng)建可復用的和可連接到HTML控件的行為。(讓Silverlight 3操作簡單的和手工具)

從Blend 3 Beta版開始引入行為的概念,可以在設計窗口中拖動內置的行為,增加圖形元素的活力,進入Asset文件夾,在這里可以找到控件、效果、資源和其它東西,現(xiàn)在又多了一個行為卡片。

Expression Blend 3.0 引入了許多行為類型,行為< T>是其中最簡單的了,適用于DependencyObject,行為可以修改控件的外觀,添加元素,修改屬性或處理一個或多個事件。MouseDragElementBehavior就是一個活生生的例子,它連接鼠標事件,讓元素可以在頁面中拖動。

編寫一個Silverlight鼠標滾動事件的行為

編寫一個行為是一件很簡單的事情,行為是行為< T>的類擴展,因此首先要做的是引用C:\Program Files\Microsoft SDKs\Expression\Blend 3\Interactivity\Libraries\Silverlight目錄下的Microsoft.Expression.Interactions.dll和System.Windows.Interactivity.dll。如果你從Blend 3.0添加一個現(xiàn)有的行為,那這些動態(tài)庫會自動引用到項目中。

引用添加好后,就可以創(chuàng)建類了:

 

  1. public class MouseWheel
    ScrollBehavior : Behavior
  2. < Control>   
  3. {  
  4. // 在這里添加實現(xiàn)代碼  

 

由于我們是要擴展Silverlight中可滾動的組件,我們需要創(chuàng)建一個可以連接到Control類的類型,在Silverlight中沒有通用的用于可滾動組件(如ScrollViewer、DataGrid和DataGrid)的類,這就需要自己想辦法處理才行,我們將在后面進行介紹,目前先分析一下如何創(chuàng)建一個行為。(微軟Silverlight中加入Smooth Streaming)

接下來要做的是在目標對象上連接MouseWheel事件,當我們完成行為類的擴展后,我們有兩個辦法來處理連接和釋放目標上的行為:將行為連接到對象上時調用OnAttached,釋放對象上的行為時使用OnDetaching。OnAttached和OnDetaching是連接和釋放公共事件的理想選擇,目標對象是通過行為< T>在AssociatedObject屬性上暴露的,下面是我的代碼示例:

 

  1. /// < summary>   
  2. /// Called after the behavior is 
    attached to an AssociatedObject.  
  3. /// < /summary> 
  4. /// < remarks>Override this to 
    hook up functionality to the 
    AssociatedObject.
    < /remarks> 
  5. protected override void OnAttached()  
  6. {  
  7. this.AssociatedObject.MouseWheel 
    += new MouseWheelEventHandler
    (AssociatedObject_MouseWheel);  
  8. base.OnAttached();  
  9. }  
  10. /// < summary> 
  11. /// Called when the behavior is 
    being detached from its Associated
    Object, but before it has actually 
    occurred.  
  12. /// < /summary> 
  13. /// < remarks>Override this to unhook 
    functionality from the AssociatedObject.
  14. < /remarks> 
  15. protected override void OnDetaching()  
  16. {  
  17. this.AssociatedObject.MouseWheel -
    new MouseWheelEventHandler
    (AssociatedObject_MouseWheel);  
  18. base.OnDetaching();  

 

Silverlight鼠標滾動事件的行為創(chuàng)建就為大家介紹到這里。

責任編輯:曹凱 來源: CSDN
相關推薦

2010-03-17 09:22:06

FlashSilverlight

2009-12-15 10:10:42

Ruby過程對象

2014-06-26 17:25:22

車聯(lián)網(wǎng) ECU

2009-12-14 17:04:13

Ruby讀寫UNIX命

2009-12-15 10:48:54

Ruby局部變量

2010-01-27 13:52:15

Android多媒體框

2011-10-26 09:28:28

紅帽大數(shù)據(jù)Gluster

2009-12-16 17:07:27

Ruby on Rai

2009-12-21 13:06:05

WCF Address

2009-12-30 10:44:38

Silverlight

2010-01-05 09:57:34

.NET Framew

2024-05-10 14:35:56

人工智能大型語言模型

2009-08-17 10:26:39

鼠標手勢

2016-02-16 14:42:58

戴爾云計算

2013-03-01 09:56:57

2010-01-11 13:42:20

VB.NET字符串加密

2016-12-14 14:43:11

ButterknifeAndroid

2017-08-09 09:19:30

2010-01-04 17:03:27

Silverlight

2010-08-04 14:15:44

nfs服務
點贊
收藏

51CTO技術棧公眾號