C# 如何使用DragAndDrop在屏幕上移动图像

C# 如何使用DragAndDrop在屏幕上移动图像,c#,wpf,C#,Wpf,我正在尝试在WPF中为ImageControl实现DragAndDrop。我使用C#codebehind将图像添加到网格中 System.Windows.Controls.Image OldMan = new System.Windows.Controls.Image(); OldMan.Height=30; OldMan.Width=30; OldMan.Name="OldMan"; OldMan.Margin=new Thickness(100,100,0,0); OldMan.Horizo

我正在尝试在WPF中为ImageControl实现DragAndDrop。我使用C#codebehind将图像添加到网格中

System.Windows.Controls.Image OldMan = new System.Windows.Controls.Image();
OldMan.Height=30;
OldMan.Width=30;
OldMan.Name="OldMan";
OldMan.Margin=new Thickness(100,100,0,0);
OldMan.HorizontalAlignment=System.Windows.HorizontalAlignment.Left;
OldMan.Stretch = Stretch.Fill;
OldMan.VerticalAlignment = System.Windows.VerticalAlignment.Top;
OldMan.Source= ConvertBitmap(Properties.Resources.Old1);
OldMan.MouseDown += new MouseButtonEventHandler(OldMan_MouseDown);
//PW is the name of my Grid
PW.Children.Add(OldMan);
PW.RegisterName(OldMan.Name, OldMan);
这会将图像添加到网格中,并钩住MouseDown事件

void OldMan_MouseDown(object sender, MouseButtonEventArgs e)
{
    System.Windows.Controls.Image img = (System.Windows.Controls.Image)sender;
    DoDragDrop(....   //this doesn't exist so obviously I am missing something
}
在MouseDown事件中

void OldMan_MouseDown(object sender, MouseButtonEventArgs e)
{
    System.Windows.Controls.Image img = (System.Windows.Controls.Image)sender;
    DoDragDrop(....   //this doesn't exist so obviously I am missing something
}

所以我没有DoDragDrop选项,那么我的选项是什么呢?

有一个关于WPF教程的writeup可能很有用:

它的基本原理是,当他们按下鼠标时,您记录起点。当他们移动鼠标时(没有松开鼠标按钮),你移动对象的量与他们移动鼠标的量相同