private void MainWindow_TouchUp(object sender, TouchEventArgs e) { System.Windows.Input.TouchPoint oPos = e.GetTouchPoint(this); this.ProxyLine.X2 = oPos.Position.X; this.ProxyLine.Y2 = oPos.Position.Y; this.GdRootZm.Children.Add(this.ProxyLine); Console.WriteLine("TouchID " + e.TouchDevice.Id + " TouchUp " + oPos.Position.X + " " + oPos.Position.Y); }
private void MainWindow_TouchDown(object sender, TouchEventArgs e) { System.Windows.Input.TouchPoint oPos = e.GetTouchPoint(this); Line oLine = new Line(); oLine.Stroke = new SolidColorBrush(Colors.Red); oLine.StrokeThickness = 2; oLine.X1 = oPos.Position.X; oLine.Y1 = oPos.Position.Y; this.ProxyLine = oLine; Console.WriteLine("TouchID " + e.TouchDevice.Id + " TouchDown " + oPos.Position.X + " " + oPos.Position.Y); }
private bool UpdateDirectlyOver(bool isSynchronize) { IInputElement newDirectlyOver = null; TouchPoint touchPoint = GetTouchPoint(null); if (touchPoint != null) { Point position = touchPoint.Position; newDirectlyOver = CriticalHitTest(position, isSynchronize); } if (newDirectlyOver != _directlyOver) { ChangeDirectlyOver(newDirectlyOver); return(true); } else { return(false); } }
private void MainWindow_TouchMove(object sender, TouchEventArgs e) { System.Windows.Input.TouchPoint oPos = e.GetTouchPoint(this); Console.WriteLine("TouchID " + e.TouchDevice.Id + " TouchMove " + oPos.Position.X + " " + oPos.Position.Y); }
//*********************************************************************************************************************** //----------------------------------------------------------------------------------------------------------------------- #endregion //*********************************************************************************************************************** //*********************************************************************************************************************** #region // Section des Procédures Statiques //----------------------------------------------------------------------------------------------------------------------- //*********************************************************************************************************************** /// <summary> /// /// </summary> /// <param name="Target"></param> /// <returns></returns> //----------------------------------------------------------------------------------------------------------------------- public static GestureHelper Create(UIElement Target) { //------------------------------------------------------------------------------------------------------------------- GestureHelper Helper = new GestureHelper(Target); //------------------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------------------- Input.Touch.FrameReported += (object S, Input.TouchFrameEventArgs A) => { //--------------------------------------------------------------------------------------------------------------- Input.TouchPoint MainTouch = null; //--------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------- try { //----------------------------------------------------------------------------------------------------------- FrameworkElement Form = Helper.Target as FrameworkElement; while (Form != null && !(Form is PhoneApplicationPage)) { Form = Form.Parent as FrameworkElement; } if (Form == null) { return; } if (Form != ((PhoneApplicationFrame)Application.Current.RootVisual).Content) { return; } //----------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------- MainTouch = A.GetPrimaryTouchPoint(Helper.Target); if (MainTouch == null) { return; } //----------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------- FrameworkElement Parent = MainTouch.TouchDevice.DirectlyOver as FrameworkElement; while (Parent != null && !(Parent is Popup)) { var parent = Parent.Parent as FrameworkElement; if (parent == null) { parent = VisualTreeHelper.GetParent(Parent) as FrameworkElement; } Parent = parent; } if (Parent is Popup) { return; } //----------------------------------------------------------------------------------------------------------- } //--------------------------------------------------------------------------------------------------------------- catch {} //--------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------- Point Origin = A.GetPrimaryTouchPoint(null).Position; //--------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------- if (MainTouch.Action == Input.TouchAction.Down) { //----------------------------------------------------------------------------------------------------------- Helper.NotifyDown(new ManipulationBaseArgs(Helper.Target, Origin)); //----------------------------------------------------------------------------------------------------------- } //--------------------------------------------------------------------------------------------------------------- else if (MainTouch.Action == Input.TouchAction.Move) { //----------------------------------------------------------------------------------------------------------- var Cumulative = new Point(Origin.X - Helper.GestureOrigin.X, Origin.Y - Helper.GestureOrigin.Y); var Delta = new Point(Origin.X - Helper.GestureManipulation.X, Origin.Y - Helper.GestureManipulation.Y); Helper.NotifyMove(new ManipulationDeltaArgs(Helper.Target, Origin, Cumulative, Delta)); //----------------------------------------------------------------------------------------------------------- } //--------------------------------------------------------------------------------------------------------------- else if (MainTouch.Action == Input.TouchAction.Up) { //----------------------------------------------------------------------------------------------------------- var Total = new Point(Origin.X - Helper.GestureOrigin.X, Origin.Y - Helper.GestureOrigin.Y); Helper.NotifyUp(new ManiulationCompletedArgs(Helper.Target, Origin, Total)); //----------------------------------------------------------------------------------------------------------- } //--------------------------------------------------------------------------------------------------------------- }; //------------------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------------------- return(Helper); //------------------------------------------------------------------------------------------------------------------- }