예제 #1
0
 private void Viewport_MouseDown(object sender, MouseButtonEventArgs e)
 {
     if (e.ChangedButton == MouseButton.Middle && e.ButtonState == MouseButtonState.Pressed)
     {
         Viewport.CaptureMouse();
         start       = e.GetPosition(this);
         startAngleX = XRotation.Angle;
         startAngleY = YRotation.Angle;
     }
 }
예제 #2
0
        private void Viewport_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            // capture the mouse to keep grabing MouseMove events if the user drags the
            // mouse outside of the _viewport bounds
            if (!Viewport.IsMouseCaptured)
            {
                Viewport.CaptureMouse();
            }

            // update the target position
            var viewportPos = e.GetPosition(Viewport);

            TargetPosX = ViewportToLogicalX(viewportPos.X);
            TargetPosY = ViewportToLogicalY(viewportPos.Y);
        }
예제 #3
0
        private void Viewport_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Viewport.CaptureMouse();
            start        = e.GetPosition(this);
            diffOffset.X = Translation.OffsetX;
            diffOffset.Y = Translation.OffsetY;

            Point    mouseposition = e.GetPosition(Viewport);
            Point3D  testpoint3D   = new Point3D(mouseposition.X, mouseposition.Y, 0);
            Vector3D testdirection = new Vector3D(mouseposition.X, mouseposition.Y, 10);

            PointHitTestParameters pointparams =
                new PointHitTestParameters(mouseposition);
            RayHitTestParameters rayparams =
                new RayHitTestParameters(testpoint3D, testdirection);

            hitGeo = null;
            VisualTreeHelper.HitTest(Viewport, null, HTResult, pointparams);
        }