我试图在Google上搜索如何在Canvas上为UIElements制作拖放,但找不到我想要的内容。
我有一个C# WPF应用程序和一个窗口。在窗口内,我有一个Canvas,可以向其中添加图像。 我想要的是能够在Canvas边界内拖放图像。 我还希望这是在代码中实现的,而不是在xaml中。
我在添加/更新图像到Canvas的函数中有以下内容。TODO应该替换为拖放事件。
Image img = ImageList[i].Image;
img.Name = "Image" + i;
// TODO: Drag and Drop event for Image
// TODO: Check if Left and Top are within Canvas (minus width / height of Image)
Canvas.SetLeft(img, Left); // Default Left when adding the image = 0
Canvas.SetTop(img, Top); // Default Top when adding the image = 0
MyCanvas.Children.Add(img);
OnPropertyChanged("MyCanvas");
PS:虽然这是后话,但如果有人有一次拖放多个图像的代码作为额外奖励,我会非常感激。
提前感谢您的帮助。