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最新課程