Exemplo n.º 1
0
 public LoadingScreen()
 {
     InitializeComponent();
     BackGrid.Visibility = Visibility.Visible;
     LoadRing.IsActive   = true;
     BackGrid.Fade(value: 1, duration: 400).StartAsync();
 }
        /// <summary>
        /// //移动,根据X.Y的值来移动。并把当前鼠标位置赋值给mouseXY.
        /// </summary>
        private void Domousemove(ContentControl img, MouseEventArgs e)
        {
            if (e.LeftButton != MouseButtonState.Pressed)
            {
                return;
            }
            var group      = BackGrid.FindResource("Imageview") as TransformGroup;
            var transform  = group.Children[1] as TranslateTransform;
            var transform1 = group.Children[0] as TranslateTransform;
            var position   = e.GetPosition(img);

            transform.X -= mouseXY.X - position.X;
            transform.Y -= mouseXY.Y - position.Y;
            if (scale < 1.1)
            {
                transform.X = 0; transform.Y = 0;
                return;
            }
            if ((700 - transform.X) >= 700 * scale && transform.Y > 0)
            {
                transform.X = (700 - 700 * scale); transform.Y = 0; return;
            }
            if ((600 - transform.Y) >= 600 * scale && transform.X > 0)
            {
                transform.X = 0; transform.Y = (600 - 600 * scale); return;
            }
            if (transform.X > 0 && transform.Y <= 0)
            {
                transform.X = 0; return;
            }
            if (transform.Y > 0 && transform.X <= 0)
            {
                transform.Y = 0; return;
            }
            if (transform.X > 0 && transform.Y > 0)
            {
                transform.X = 0; transform.Y = 0; return;
            }
            if ((700 - transform.X) >= 700 * scale && (600 - transform.Y) < 600 * scale)
            {
                transform.X = (700 - 700 * scale); return;
            }
            if ((600 - transform.Y) >= 600 * scale && (700 - transform.X) < 700 * scale)
            {
                transform.Y = (600 - 600 * scale); return;
            }
            if ((700 - transform.X) >= 700 * scale && (600 - transform.Y) >= 600 * scale)
            {
                transform.X = (700 - 700 * scale); transform.Y = (600 - 600 * scale); return;
            }
            mouseXY = position;
        }
        /// <summary>
        /// //实现图幅的放大缩小
        /// </summary>
        private void ContentControl_MouseWheel(object sender, MouseWheelEventArgs e)
        {
            var img = sender as ContentControl;

            if (img == null)
            {
                return;
            }
            var point = e.GetPosition(img);
            var group = BackGrid.FindResource("Imageview") as TransformGroup;
            var delta = e.Delta * 0.001;

            DowheelZoom(group, point, delta);
        }