成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

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

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

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

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添加一個現有的行為,那這些動態庫會自動引用到項目中。

引用添加好后,就可以創建類了:

 

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

 

由于我們是要擴展Silverlight中可滾動的組件,我們需要創建一個可以連接到Control類的類型,在Silverlight中沒有通用的用于可滾動組件(如ScrollViewer、DataGrid和DataGrid)的類,這就需要自己想辦法處理才行,我們將在后面進行介紹,目前先分析一下如何創建一個行為。(微軟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鼠標滾動事件的行為創建就為大家介紹到這里。

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

2010-03-17 09:22:06

FlashSilverlight

2009-12-15 10:10:42

Ruby過程對象

2009-12-21 13:06:05

WCF Address

2009-12-16 17:07:27

Ruby on Rai

2009-12-15 10:48:54

Ruby局部變量

2014-06-26 17:25:22

車聯網 ECU

2011-10-26 09:28:28

紅帽大數據Gluster

2010-01-27 13:52:15

Android多媒體框

2009-12-14 17:04:13

Ruby讀寫UNIX命

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

鼠標手勢

2013-03-01 09:56:57

2016-02-16 14:42:58

戴爾云計算

2016-12-14 14:43:11

ButterknifeAndroid

2017-08-09 09:19:30

2010-01-11 13:42:20

VB.NET字符串加密

2010-01-04 17:03:27

Silverlight

2024-04-08 11:52:08

PromQL技術監控
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品久久久 | 久久涩涩 | 成人精品一区二区户外勾搭野战 | 亚洲一区中文字幕 | 手机av在线| 欧美福利 | 中文字幕亚洲精品 | 欧美精品二区三区 | 国产黄a一级 | 欧美成人一区二免费视频软件 | 亚洲视频中文字幕 | 国产精品无码专区在线观看 | 天堂成人国产精品一区 | 日日操日日干 | 久久一区二区免费视频 | 亚洲伊人久久综合 | 毛片入口| 99热这里都是精品 | 欧美一区二区三区四区五区无卡码 | 午夜av免费 | 久久久久1 | 91玖玖| 亚洲高清一区二区三区 | 国产激情91久久精品导航 | 一区二区三区在线看 | 欧美精品在线一区 | 女同久久另类99精品国产 | 欧美日本韩国一区二区三区 | 一区二区av| 永久免费av| 久久一二| 99精品欧美一区二区蜜桃免费 | 免费一级黄色 | 日韩欧美中文字幕在线观看 | 在线免费黄色小视频 | 日本高清aⅴ毛片免费 | 91在线视频观看 | 国产精品五月天 | 久久久久国产精品一区三寸 | 日韩av电影在线观看 | 韩国欧洲一级毛片 |