/// <summary> /// 移動中動作 /// </summary> /// <param name="e"></param> private void OnMove(PointerTapEventArgs e, UIElement target) { var point = (Vector)e.GetPosition(this.AssociatedObject); if ((point - this.startPosition).LengthSquared > 800) { this.moved = true; } }
/// <summary> /// 移動中動作 /// </summary> /// <param name="e"></param> private void OnMove(PointerTapEventArgs e, UIElement target) { //this.isInartiaMoving = false; if (!this.isMouseCapturing) { return; } var point = (Vector)e.GetPosition(this.AssociatedObject); this.positionHistory.Push(point); this.CurrentOffset = (Point)(this.startOffset - point + this.startPosition); }
/// <summary> /// アップ時動作 /// </summary> /// <param name="e"></param> private void OnUp(PointerTapEventArgs e, UIElement target) { var timeSpan = DateTime.Now - this.startTime; if (!this.moved) { var args = e.Clone(); args.Span = timeSpan; args.StartPosition = this.startPosition; args.EndPosition = (Vector)e.GetPosition(this.AssociatedObject); args.SenderHeight = this.AssociatedObject.ActualHeight; args.SenderWidth = this.AssociatedObject.ActualWidth; this.TapSubject.OnNext(args); } }