TechDays 2009忙完了,终于有一点点时间可以回头写SL3中的多点触控,随着Windows 7的Launch在即,我开始屡屡被问到Silverlight 3中的多点触控程序开发的部分。
在TechDays 2009中也稍微提过,其实SL3中的多点触控一点也不复杂,架构上相当简单,底下这是SL3中多点触控的讯息架构:
从这边您也不难发现,触控屏幕(或面板或NB)、Windows 7、IE8当然都是必要设备,缺一不可。
对于SL3应用程序来说,只是很简单的从IE8接受多点触控事件,或者是仿真成鼠标事件。至于很多人关心的可以接收到几点,端看设备而定,如果设备传入的是两点(我手上的触控屏幕和NB都只支持两点),传入SL3的就是两点;若设备支持多点,SL3就接收到多点,如此而已,没啥特别的。
要在SL3当中接收到多点触控的信息,再简单也不过,最简单的方式如下,动作只有两动:
1.Hook Multi-Touch事件
2.在事件中取得点,进行处理或运算。
程序代码如下:
执行结果:
[范例]