silverlight中DataGrid如何处理鼠标的滚轮事件
2009-02-20 15:06
603 查看
1publicpartialclassNorthWind:UserControl
2 {
3 //DataGrid的数据
4 privateList<Products>_product;
5 //标示数据是否在DataGrid上
6 privateboolIsMouseInControl{get;set;}
7
8 publicNorthWind()
9 {
10 InitializeComponent();
11 //处理MouseWheel
12 MouseHelper.SetMouseWheelHandler(OnMouseWheel);
13 BindGrid();
14 }
15
16 privatevoidBindGrid()
17 {
18 //DataGrid绑定数据
19 //从WCF中获取Products数据,并保存到_product中。
20 //以下代码省略
21 }
22
23 publicvoidOnMouseWheel(objectsender,MouseWheelHandlerEventArgsargs)
24 {
25 //如果鼠标不在DataGrid上,就不做处理
26 if(!IsMouseInControl)return;
27 intmouseDelta=Math.Sign(args.Delta);
28 varselectedItem=dgData.SelectedIndex;
29 //每次向下滚动一条记录
30 varnextRow=selectedItem-(int)mouseDelta*1;
31 if(nextRow>-1&&nextRow<_product.Count)
32 {
33 dgData.ScrollIntoView(_product[nextRow],null);
34 dgData.SelectedIndex=nextRow;
35 }
36 }
37
38 privatevoiddgData_MouseEnter(objectsender,MouseEventArgse)
39 {
40 //鼠标进入DataGrid
41 IsMouseInControl=true;
42 }
43
44 privatevoiddgData_MouseLeave(objectsender,MouseEventArgse)
45 {
46 //鼠标离开DataGrid
47 IsMouseInControl=false;
48 }
49 }
2 {
3 //DataGrid的数据
4 privateList<Products>_product;
5 //标示数据是否在DataGrid上
6 privateboolIsMouseInControl{get;set;}
7
8 publicNorthWind()
9 {
10 InitializeComponent();
11 //处理MouseWheel
12 MouseHelper.SetMouseWheelHandler(OnMouseWheel);
13 BindGrid();
14 }
15
16 privatevoidBindGrid()
17 {
18 //DataGrid绑定数据
19 //从WCF中获取Products数据,并保存到_product中。
20 //以下代码省略
21 }
22
23 publicvoidOnMouseWheel(objectsender,MouseWheelHandlerEventArgsargs)
24 {
25 //如果鼠标不在DataGrid上,就不做处理
26 if(!IsMouseInControl)return;
27 intmouseDelta=Math.Sign(args.Delta);
28 varselectedItem=dgData.SelectedIndex;
29 //每次向下滚动一条记录
30 varnextRow=selectedItem-(int)mouseDelta*1;
31 if(nextRow>-1&&nextRow<_product.Count)
32 {
33 dgData.ScrollIntoView(_product[nextRow],null);
34 dgData.SelectedIndex=nextRow;
35 }
36 }
37
38 privatevoiddgData_MouseEnter(objectsender,MouseEventArgse)
39 {
40 //鼠标进入DataGrid
41 IsMouseInControl=true;
42 }
43
44 privatevoiddgData_MouseLeave(objectsender,MouseEventArgse)
45 {
46 //鼠标离开DataGrid
47 IsMouseInControl=false;
48 }
49 }
相关文章推荐
- Silverlight学习笔记一:DataGrid如何处理鼠标的滚轮事件
- BCB如何处理FORM、ScrollBox的鼠标滚轮事件
- 精通Silverlight——12.2 处理键盘和鼠标事件
- 教学影片:如何建立Silveright图示菜单(Silverlight的鼠标事件功能介绍)
- 教学影片:如何建立Silveright图示菜单(Silverlight的鼠标事件功能介绍)
- JavaScript权威指南_172_第17章_事件处理_17.6-鼠标滚轮事件
- 教学影片:如何建立Silveright图示菜单(Silverlight的鼠标事件功能介绍)
- 教学影片:如何建立Silveright图示菜单(Silverlight的鼠标事件功能介绍)
- android 处理鼠标滚轮事件
- 在vc中如何实现对静态文本的鼠标点击事件的处理?
- 一步一步学Silverlight 2系列(4):鼠标事件处理
- DataGrid鼠标事件处理
- 一步一步学Silverlight 2系列(4):鼠标事件处理
- DataGrid鼠标事件处理
- 教学影片:如何建立Silveright图示菜单(Silverlight的鼠标事件功能介绍)
- 教学影片:如何建立Silveright图示菜单(Silverlight的鼠标事件功能介绍)
- C#如何添加鼠标滚轮事件以及判断鼠标滚轮的方向
- 鼠标滚轮事件兼容处理、实现内容横向滑动效果
- HTML中鼠标滚轮事件onmousewheel处理
- DataGrid鼠标事件处理 DataGrid鼠标事件方法