天天看点

Silverlight 5 beta新特性探索系列:4.Silverlight 5 beta中鼠标双击/鼠标多重点击的实现

在silverlight 5中新增了鼠标双击和多重点击的实现,当然在这里包括鼠标左键和鼠标右键的双击,多重点击。在silverlight 5的mousebuttoneventargs类中新增了一个属性名为clickcount:获取到触发事件源在单位时间内被点击的次数(注意:单位时间是由操作系统的"控制面板"-->"鼠标"-->"双击速度"设置的)。

下面我们来看一个实例以判断是否双击还是多重点击,首先我们看实例的xaml代码:

一、我们来看鼠标左键的双击(三重点击类似)判断如下:

当双击鼠标左键时得到的效果图如下:

Silverlight 5 beta新特性探索系列:4.Silverlight 5 beta中鼠标双击/鼠标多重点击的实现

二、在某一些情况下我们需要判断鼠标右键是否双击或者三击的情况,那么我们敲入以下代码即可:

可是我们当运行时发现出现以下图片效果所示,而不能正常的鼠标右键三击:

Silverlight 5 beta新特性探索系列:4.Silverlight 5 beta中鼠标双击/鼠标多重点击的实现

微软默认弹出了一个鼠标右键菜单,我们需要将这个默认的右键菜单禁用了才能够正常的实现鼠标右键多重点击

a.在加载xap包的页面sl5doubleclicktestpage.aspx的<body>元素改为<body oncontextmenu="window.event.returnvalue=false">。

b.在<object>标签内新增一行<param name="windowless" value="true" />即可禁用默认的鼠标右键菜单。

最后得到的鼠标右键三击效果如下图:

Silverlight 5 beta新特性探索系列:4.Silverlight 5 beta中鼠标双击/鼠标多重点击的实现