Advertisement
Guest User

Untitled

a guest
Jul 6th, 2015
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. private void AddButtonClick(object sender, RoutedEventArgs e)
  2. {
  3. var dialog = new Microsoft.Win32.OpenFileDialog();
  4. dialog.Filter =
  5. "Image Files (*.jpg; *.jpeg; *.gif; *.bmp)|*.jpg; *.jpeg; *.gif; *.bmp";
  6.  
  7. if ((bool)dialog.ShowDialog())
  8. {
  9. var bitmap = new BitmapImage(new Uri(dialog.FileName));
  10. var image = new Image { Source = bitmap };
  11. Canvas.SetLeft(image, 0);
  12. Canvas.SetTop(image, 0);
  13. canvas.Children.Add(image);
  14. }
  15. }
  16.  
  17. private Image draggedImage;
  18. private Point mousePosition;
  19.  
  20. private void CanvasMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  21. {
  22. var image = e.Source as Image;
  23.  
  24. if (image != null && canvas.CaptureMouse())
  25. {
  26. mousePosition = e.GetPosition(canvas);
  27. draggedImage = image;
  28. Panel.SetZIndex(draggedImage, 1); // in case of multiple images
  29. }
  30. }
  31.  
  32. private void CanvasMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
  33. {
  34. if (draggedImage != null)
  35. {
  36. canvas.ReleaseMouseCapture();
  37. Panel.SetZIndex(draggedImage, 0);
  38. draggedImage = null;
  39. }
  40. }
  41.  
  42. private void CanvasMouseMove(object sender, MouseEventArgs e)
  43. {
  44. if (draggedImage != null)
  45. {
  46. var position = e.GetPosition(canvas);
  47. var offset = position - mousePosition;
  48. mousePosition = position;
  49. Canvas.SetLeft(draggedImage, Canvas.GetLeft(draggedImage) + offset.X);
  50. Canvas.SetTop(draggedImage, Canvas.GetTop(draggedImage) + offset.Y);
  51. }
  52. }
  53.  
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement