Member 13316513 Ответов: 1

Как перетащить изображение на chromium с помощью WPF.


Я хочу, чтобы перетащить и падение изображения на основе хрома с использованием WPF.
Когда я опустил изображение на chromium, для запуска JavaScript.
Возможно ли это?

Этот исходный код предназначен только для перетаскивания изображений.

пожалуйста помочь.

Что я уже пробовал:

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);
          }
      }

1 Ответов

Рейтинг:
0

Graeme_Grant

Google привел такой пример: CefSharp / CefSharp.Wpf. Example / Handlers / DragHandler. cs[^]