Click here to Skip to main content
15,868,009 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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);
          }
      }
Posted
Updated 21-Jul-17 0:19am

1 solution

 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900