Пример #1
0
        private void ContentPanel_MouseMove(object sender, MouseEventArgs e)
        {
            Point  center = e.GetPosition(ContentPanel);
            double length = MagnifierCircle.ActualWidth * _factor;
            // mit einem Plus bzw einem deutlich geringerem wert und einem nicht anzeigen eines Kreises
            // kann der Welleneffekt optisch realisiert werden = reine Umsetzung der Sinne
            double radius      = length / 2;
            Rect   viewboxRect = new Rect(center.X - radius, center.Y - radius, length, length);

            MagnifierBrush.Viewbox = viewboxRect;

            MagnifierCircle.SetValue(Canvas.LeftProperty, center.X - (MagnifierCircle.ActualWidth / 2));
            MagnifierCircle.SetValue(Canvas.TopProperty, center.Y - (MagnifierCircle.ActualHeight / 2));


            // Rechteckversion 1.01 CreativeRyu

            // MagnifierRectangle
            // MagnifierBrushRectangle

            //Point center = e.GetPosition(ContentPanel);
            //double lenght = MagnifierRectangle.ActualWidth * _factor;
            //double height = MagnifierRectangle.ActualHeight * _factor;
            //Rect viewboxRect = new Rect(center.X - lenght, center.Y - height, lenght, lenght);
            //MagnifierBrushRectangle.Viewbox = viewboxRect;
        }
Пример #2
0
        public void SetPosition(Point destination)
        {
            Center = destination;

            double length = MagnifierCircle.ActualWidth * ZoomFactor;
            double radius = length / 2.0;

            MagnifierBrush.Viewbox = new Rect(Center.X - radius, Center.Y - radius, length, length);

            MagnifierCircle.SetValue(Canvas.LeftProperty, Center.X - MagnifierCircle.ActualWidth / 2);
            MagnifierCircle.SetValue(Canvas.TopProperty, Center.Y - MagnifierCircle.ActualHeight / 2);

            MagnifierInnerCircle.SetValue(Canvas.LeftProperty, Center.X - MagnifierInnerCircle.ActualWidth / 2);
            MagnifierInnerCircle.SetValue(Canvas.TopProperty, Center.Y - MagnifierInnerCircle.ActualHeight / 2);
        }