0

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

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);

这会将 Image 添加到网格中,并挂钩到 MouseDown 事件

在 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 选项,所以我有什么选择

4

1 回答 1

2

有一篇关于 WPF 教程的文章可能有用:

http://wpftutorial.net/DragAndDrop.html

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

于 2012-05-17T17:55:43.313 回答