日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Silverlight鼠標滾動事件全方位解讀

Silverlight的出現(xiàn),給我們帶來了一個全新的程序編寫環(huán)境。其在音頻視頻方面的處理是相當強大的。展示一個Silverlight鼠標滾動事件的示例只需要幾行代碼即可,我認為大部分人都可以在幾分鐘內(nèi)做好,并理解它是如何工作的。因此我決定將這個事件和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版開始引入行為的概念,可以在設計窗口中拖動內(nèi)置的行為,增加圖形元素的活力,進入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事件,當我們完成行為類的擴展后,我們有兩個辦法來處理連接和釋放目標上的行為:將行為連接到對象上時調(diào)用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)建就為大家介紹到這里。


分享標題:Silverlight鼠標滾動事件全方位解讀
分享路徑:http://www.dlmjj.cn/article/dhdgieh.html