WPF開發多點程序
體會:使用wpf開發多點程序讓我感到非常簡單,這也無不證明了微軟的強大。
第一步:打開vs2010,新建一個WpfApplication1程序
第二步:添加一個Canvas,并給Canvas添加 TouchDown,TouchMove,TouchUp事件
如: <Canvas Background="Gray" Name="canvas1" TouchDown="canvas1_TouchDown"
TouchMove="canvas1_TouchMove" TouchUp="canvas1_TouchUp"/>
第三步:定義一個數字字典存放對象:
private Dictionary<int, Ellipse> ellipses = new Dictionary<int, Ellipse>();
然后先三個事件中添加如下代碼:
private void canvas1_TouchDown(object sender, TouchEventArgs e)
{
Ellipse ellipse = new Ellipse();
ellipse.Width = 50;
ellipse.Height = 50;
ellipse.Stroke = Brushes.YellowGreen;
TouchPoint touchpoint = e.GetTouchPoint(this.canvas1);
Canvas.SetTop(ellipse,touchpoint.Bounds.Top);
Canvas.SetLeft(ellipse,touchpoint.Bounds.Left);
ellipses[e.TouchDevice.Id] = ellipse;
this.canvas1.Children.Add(ellipse);
}
private void canvas1_TouchMove(object sender, TouchEventArgs e)
{
Ellipse ellipse = ellipses[e.TouchDevice.Id];
TouchPoint touchpoint = e.GetTouchPoint(this.canvas1);
Canvas.SetTop(ellipse, touchpoint.Bounds.Top);
Canvas.SetLeft(ellipse, touchpoint.Bounds.Left);
}
private void canvas1_TouchUp(object sender, TouchEventArgs e)
{
Ellipse ellipse = ellipses[e.TouchDevice.Id];
ellipses.Remove(e.TouchDevice.Id);
this.canvas1.Children.Remove(ellipse);
}
編譯運行OK,可以下載一個多點模擬器,有多點觸摸屏硬件的更好。
效果如下圖:


浙公網安備 33010602011771號