Example #1
0
        public Lookup(TextBox parent, Window owner)
            : this()
        {
            _parent = parent;
            Owner = owner;

            var relative = new Point(0, parent.ActualHeight);
            Point desiredLocation = owner.TranslatePoint(relative, parent);

            Point point = Owner.PointToScreen(desiredLocation);

            Top = point.Y;
            Left = point.X;

            Show();
        }
Example #2
0
        private void RefreshScalingLine(Window wnd, Element element, Canvas canvas)
        {
            Vector offset = new Vector(wnd.Width / 2, 0);//ScalingWindow.Height + 125);
            Point translatedPoint = wnd.TranslatePoint(new Point(0, 0) + offset, canvas);

            canvas.Children.Remove(ScalingLine);

            ScalingLine = new Line();
            ScalingLine.X1 = translatedPoint.X;
            ScalingLine.Y1 = translatedPoint.Y;

            ScalingLine.X2 = element.Position.X + element.Width / 2;
            ScalingLine.Y2 = element.Position.Y + element.Height / 8;
            SolidColorBrush redBrush = new SolidColorBrush();
            redBrush.Color = Colors.DarkGreen;
            ScalingLine.StrokeThickness = 3;
            ScalingLine.Stroke = redBrush;

            //проверка, находится ли это окно в области канваса
            if (new Rect(canvas.RenderSize).Contains(new Point(ScalingLine.X1, ScalingLine.Y1)))
                canvas.Children.Add(ScalingLine);
        }
Example #3
0
        private static Vector DraggedDelta(InputDevice inputDevice, Window window, UIElement relativeTo)
        {
            MouseDevice mouse = inputDevice as MouseDevice;
            Contact contact = inputDevice as Contact;

            // get the current position
            Point currentPosition = (mouse == null) ? contact.GetPosition(window) : mouse.GetPosition(window);

            // get the down state
            if (!deviceStateDictionary.ContainsKey(inputDevice))
            {
                return ZeroVector;
            }

            // translate to the relativeTo elementToDrag
            Point downPosition = deviceStateDictionary[inputDevice].Position;

            if (relativeTo != window)
            {
                currentPosition = window.TranslatePoint(currentPosition, relativeTo);
                downPosition = window.TranslatePoint(downPosition, relativeTo);
            }

            return (currentPosition - downPosition);
        }