如何使用WPF将图像拖放到铬上。 [英] How to drag and drop image on the chromium using 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);
}
}
解决方案
Google出现了这个例子: CefSharp / CefSharp.Wpf.Example / Handlers / DragHandler.cs [ ^ ]
I want to drag an image and drop on the chromium using WPF.
When i dropped the image on the chromium, for run JavaScript.
Is this possible?
This source code is just to drag and drop images.
please help.
What I have tried:
private void AddButtonClick(object sender, RoutedEventArgs e) { var dialog = new Microsoft.Win32.OpenFileDialog(); dialog.Filter = "Image Files (*.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 Image 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); // in case of multiple images } } private void CanvasMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { if (draggedImage != null) { canvas.ReleaseMouseCapture(); Panel.SetZIndex(draggedImage, 0); draggedImage = null; } } private void CanvasMouseMove(object sender, 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); } }
解决方案
Google turned up this example: CefSharp / CefSharp.Wpf.Example / Handlers / DragHandler.cs[^]
这篇关于如何使用WPF将图像拖放到铬上。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文