Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > image и wpf


Автор: larinva 24.9.2010, 12:11
Всем привет!
Помогите как в wpf реализовать перетаскивание картинки по форме

Автор: WolfTheGrey 25.9.2010, 12:33
В обработчике моуземове реализуй:
1) проверку за нажатие кнопки мыши + после этого запиши координаты мыши относительно картинки.
2) отслеживай положение мыши при сдвиге и на такое же растояние отодвигай картинку. 


И еще есть метод DragMove();

Автор: larinva 26.9.2010, 19:13
сделал вот так  smile 
Код

#region Mouse Move
        void myimg_MouseUp(object sender, MouseButtonEventArgs e)
        {
            ((Image)sender).ReleaseMouseCapture();
        }

        void myimg_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                if (((Image)sender).IsMouseCaptured)
                {
                    Point mouseCurrent = e.GetPosition(this);
                    double Left = mouseCurrent.X - canvasLeft;
                    double Top = mouseCurrent.Y - canvasTop;
                    ((Image)sender).SetValue(Canvas.LeftProperty, canvasLeft + Left);
                    ((Image)sender).SetValue(Canvas.TopProperty, canvasTop + Top);
                    canvasLeft = Canvas.GetLeft(((Image)sender));
                    canvasTop = Canvas.GetTop(((Image)sender));
                }
            }
        }

        void myimg_MouseDown(object sender, MouseButtonEventArgs e)
        {
            mouseClick = e.GetPosition(null);
            canvasLeft = Canvas.GetLeft(((Image)sender));
            canvasTop = Canvas.GetTop(((Image)sender));
            ((Image)sender).CaptureMouse();
        }


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)