我有Silverlight / XNA应用程序,其中我向图像控件添加了GestureListener。在XNA我有一个游戏。
游戏运行正常,直到我转到Silverlight部分并将GestureListener添加到Image。在那之后,当我回到游戏时,它会滞后。
我已经检查过,只有在Silverlight中将GestureListener添加到Image后,游戏才开始滞后。
Image newTroll = new Image();
newTroll.Stretch = Stretch.None;
newTroll.Source = image;
newTroll.Margin = new Thickness(10,10,0,0);
newTroll.RenderTransformOrigin = new Point(0.5, 0.5);
newTroll.CacheMode = new BitmapCache();
newTroll.RenderTransform = new CompositeTransform();
newTroll.MouseEnter += new MouseEventHandler(newTroll_MouseEnter);
var gestureListener = GestureService.GetGestureListener(newTroll);
gestureListener.PinchStarted += new EventHandler<PinchStartedGestureEventArgs>(gestureListener_PinchStarted);
gestureListener.PinchDelta += new EventHandler<PinchGestureEventArgs>(gestureListener_PinchDelta);
gestureListener.PinchCompleted += new EventHandler<PinchGestureEventArgs>(gestureListener_PinchCompleted);
gestureListener.DragStarted += new EventHandler<DragStartedGestureEventArgs>(gestureListener_DragStarted);
gestureListener.DragDelta += new EventHandler<DragDeltaGestureEventArgs>(gestureListener_DragDelta);
gestureListener.DragCompleted += new EventHandler<DragCompletedGestureEventArgs>(gestureListener_DragCompleted);
我已搜索但未找到此问题的任何解决方案
更新
我刚看完这个,所以我真的很困惑
“内部开发人员报告显然GestureService对Touch.FrameReported
事件有静态订阅,该事件会在每个TouchPoint上进行大量处理。
但它似乎永远不会取消订阅该活动,所以即使您不再积极使用该服务,也总是为此付费。“
答案 0 :(得分:2)
您是否尝试在适当时使用“ - =”来取消活动?