private void OnFinger(string source, int e) { if (this.onFinger != null) { FingerEventType fingerEventType = (e == 10) ? FingerEventType.FINGER_UP : FingerEventType.FINGER_DOWN; FingerEventArgs fe = new FingerEventArgs(source, fingerEventType); this.onFinger(source, fe); } }
private void handleFingerEvent(FingerEventType type, FingerEventArgs e) { Dispatcher.BeginInvoke((Action)delegate() { VisualTreeHelper.HitTest(this, null, (HitTestResultCallback)delegate(HitTestResult result) { //find ISpaceControl parent DependencyObject current = result.VisualHit; while(current != null && !(current is ISpaceControl)) { current = VisualTreeHelper.GetParent(current); } if (current != null) { ISpaceControl spaceControl = current as ISpaceControl; switch(type) { case FingerEventType.FingerDown: spaceControl.RaiseFingerDown(e); break; case FingerEventType.FingerUp: spaceControl.RaiseFingerUp(e); break; case FingerEventType.FingerMove: spaceControl.RaiseFingerMove(e); break; } return HitTestResultBehavior.Stop; } else { return HitTestResultBehavior.Continue; } }, new PointHitTestParameters(new Point(e.Position.X, e.Position.Y))); }, null); }
public FingerEventArgs(string source, FingerEventType fingerEventType) { this.source = source; this.figerEventType = fingerEventType; }