如何使用WPF将图像拖放到铬上

如何使用WPF将图像拖放到铬上

本文介绍了如何使用WPF将图像拖放到铬上。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用WPF拖动图像并放下铬。

当我将图像放在铬上时,运行JavaScript。

这可能吗?



这个源代码只是拖放图像。



请帮忙。



我尝试过:



 private void AddButtonClick( object sender,RoutedEventArgs e)
{
var dialog = new Microsoft.Win32.OpenFileDialog();

dialog.Filter =
图像文件(* .jpg; * .jpeg; * .gif; * .bmp)| * .jpg; * .jpeg; * .gif; * .BMP;

if((bool)dialog.ShowDialog())
{
var bitmap = new BitmapImage(new Uri(dialog.FileName));
var image = new Image {Source = bitmap};
Canvas.SetLeft(image,0);
Canvas.SetTop(image,0);
canvas.Children.Add(image);
}
}

private图片draggedImage;
private Point mousePosition;

private void CanvasMouseLeftButtonDown(object sender,MouseButtonEventArgs e)
{
var image = e.Source as Image;

if(image!= null&& canvas.CaptureMouse())
{
mousePosition = e.GetPosition(canvas);
draggedImage = image;
Panel.SetZIndex(draggedImage,1); //在多个图像的情况下
}
}


private void CanvasMouseLeftButtonUp(对象发送者,MouseButtonEventArgs e)
{
if( draggedImage!= null)
{
canvas.ReleaseMouseCapture();
Panel.SetZIndex(draggedImage,0);
draggedImage = null;
}
}

private void CanvasMouseMove(对象发送者,MouseEventArgs e)
{
if(draggedImage!= null)
{
var position = e.GetPosition(canvas);
var offset = position - mousePosition;
mousePosition = position;
Canvas.SetLeft(draggedImage,Canvas.GetLeft(draggedImage)+ offset.X);
Canvas.SetTop(draggedImage,Canvas.GetTop(draggedImage)+ offset.Y);
}
}
解决方案


这篇关于如何使用WPF将图像拖放到铬上。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-07 02:16