Wince中为元件注册鼠标事件以实现Canvas中的拖拽效果

来源:互联网 发布:兄弟连php教程 编辑:程序博客网 时间:2024/05/11 16:05

    伴随这苹果在设计和用户体验方面取得的成功,现在越来越多的UI交互都向Touch flow方向发展,而Silverlight For Windows Embedded方案,可帮助我们快速建立和实现内涵丰富用户体验友好的软件界面UI,下面通过鼠标事件的方式实现元件的移动和拖拽的效果,我在同一个页面放了很多控件拖拉效率还可以。本示例通过动态加载图片资源,动态为图片资源设置SetRenderTransform属性实现缩放变暗及拖放效果,有关动态资源加载请参考 在Wince 中使用IXRResourceDictionary加载全局资源App.xaml !部分代码也请参考前面这篇Blog。

   1、用到的头文件:

   2、设置几个全局变量来记录当前移动的元件对象,移动开始时的坐标,移动完成后的坐标,当前是处于移动状态

   3、实现为元件注册RenderTransform属性的方法

   4、实现为元件透明度设置、移动、缩放等功能的方法(调用些方法需要保证 步骤3已调用)这里有一个重载方法只实现移动这样做的目的为了提升效率

 

   5、下面三个类分别实现鼠标按下,移动,松开事件,实现移动元件的设置,坐标获取,元件移动等操作

   6、为元件注册鼠标事件

   7、剩下的就很简单了,调用我们上面写好的方法在Main函数中动态加载png图片注册鼠标事件和RenderTransform:

   结语:应用Touch flow,鼠标事件结合手势功能应该会在选择、划屏、拖拽等事件判断,坐标换算中更准确,实际应用过程中应进行结合使用!

原创粉丝点击