silverlight中DataGrid如何处理鼠标的滚轮事件

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  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值