【发布时间】:2021-05-31 14:51:38
【问题描述】:
一切似乎都很简单,并且有很多教程,但我无法将数据(在我的情况下为图像)传输到 wpf 窗口元素。我能够实现图像从一个元素到另一个元素的传输。但是当我捕获图像(例如,桌面)时,当我将其传输到所需的元素时,传输选项甚至不会出现,只有一个划掉的圆圈,并且不会产生多个与 drop 相关的事件(好像 AllowDrop = false)
我的代码:
XAML
<Image x:Name="mainContent" Grid.Column="1" Stretch="Fill" AllowDrop="True" Drop="MainContent_Drop" />
C#
private void SpImageLeft_MouseDown(object sender, MouseButtonEventArgs e)
{
Image image = sender as Image;
DragDrop.DoDragDrop(image, image, DragDropEffects.Copy);
}
private void MainContent_Drop(object sender, DragEventArgs e)
{
Image image = (Image)e.Data.GetData(typeof(Image));
mainContent.Source = image.Source;
}
我知道当我从资源管理器中获取图像时,那里会有所不同,就像这样,但它仍然没有显示您可以添加图像
private void MainContent_Drop(object sender, DragEventArgs e)
{
string[] arr = (string[])e.Data.GetData(DataFormats.FileDrop);
mainContent.Source = (ImageSource)new ImageSourceConverter().ConvertFromString(arr[0]);
}
【问题讨论】:
标签: c# wpf drag-and-drop