Silverlight for Windows phone7中可以使用XNA提供的功能进行触屏编程,不过暂时还没有网页Silverlight的XNA移植。经过搜索发现MIRIA这个开源项目http://miria.codeplex.com/ 可以在Silverlight中实现Touch、Gesture的功能。
用法如下:
1、项目中引用MIGlibLight.dll、MIRIA.dll
2、在xaml顶层标签中写xmlns:miria="clr-namespace:MIRIA.UIKit;assembly=MIRIA"声明命名空间
然后:
<miria:TCanvas Name="a1" Margin="0,64,56,39" HorizontalAlignment="Right" Width="293">
</miria:TCanvas>
然后就可以监听TCanvas的GestureDetected、Tap事件来进行手势编程了。
为了能够运行,还需要在TCanvas上启动TouchListener,事件才能触发:TouchListener lis = new TouchListener(canvas1);
注意MIRIA有点问题就是用鼠标模拟手指(因为我没有用真的触屏测试过,买不起呀,呵呵)的时候必须短时间内瞬间滑动才能触发事件,如果停留时间长点事件就不能触发了。
MIRIA下载: http://files.cnblogs.com/rupeng/miria-62919%ef%bc%88%e8%a7%a6%e5%b1%8f%e6%89%8b%e5%8a%bf%ef%bc%89.zip
在Silverlight 3 /4开发环境中打开miria演示项目的时候报错找不到WrapPanel类,因为这个控件已经不在标准控件中了,而是放到了Silverlight Toolkit中,该工具包可从http://www.codeplex.com/Silverlight获得。
我当前用的整个版本的MIRIA中的bug及修正如下:
1、TouchListener.cs的_cursordel函数中:
_cursors.Remove(_cursors[x]);
改成:
if (x >= 0)
{
_cursors.Remove(_cursors[x]);
}
如鹏网.Net培训班正在报名,有网络的地方就可以参加如鹏网的学习,学完就能高薪就业,点击此处了解
三年前只要懂“三层架构”就可以说“精通分层架构”;现在则需要懂IOC(AutoFac等)、CodeFirst、lambda、DTO等才值钱;
三年前只要会SQLServer就可以说自己“精通数据库开发”;现在则需还需要掌握MySQL等开源数据库才能说是“.Net开源”时代的程序员;
三年前只要会进行用户上传内容的安全性处理即可;现在则需要熟悉云存储、CDN等才能在云计算时代游刃有余;
三年前只要掌握Lucene.Net就会说自己“熟悉站内搜索引擎开发”;现在大家都用ElasticSearch了,你还用Lucene.Net就太老土了;
三年前发邮件还是用SmtpClient;现在做大型网站发邮件必须用云邮件引擎;
三年前缓存就是Context.Cache;现在则是Redis、Memcached的天下;
如鹏网再次引领.Net社区技术潮流!点击此处了解如鹏网.Net最新课程