Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. public partial class MainWindow : Window
  2. {
  3. public MainWindow()
  4. {
  5. InitializeComponent();
  6. }
  7.  
  8. private bool isDragging;
  9. private void usercontrol_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
  10. {
  11. bre.CaptureMouse();
  12. isDragging = true;
  13.  
  14. }
  15.  
  16. private void usercontrol_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
  17. {
  18. if (isDragging)
  19. {
  20. Point canvPosToWindow = canv.TransformToAncestor(this).Transform(new Point(0, 0));
  21.  
  22. UserControl1 r = sender as UserControl1;
  23. var upperlimit = canvPosToWindow.Y + (r.Height / 2);
  24. var lowerlimit = canvPosToWindow.Y + canv.ActualHeight - (r.Height / 2);
  25.  
  26. var leftlimit = canvPosToWindow.X + (r.Width / 2);
  27. var rightlimit = canvPosToWindow.X + canv.ActualWidth - (r.Width / 2);
  28.  
  29. var absmouseXpos = e.GetPosition(this).X;
  30. var absmouseYpos = e.GetPosition(this).Y;
  31.  
  32. if ((absmouseXpos > leftlimit && absmouseXpos < rightlimit)
  33. && (absmouseYpos > upperlimit && absmouseYpos < lowerlimit))
  34. {
  35. r.SetValue(Canvas.LeftProperty, e.GetPosition(canv).X - (r.Width / 2));
  36. r.SetValue(Canvas.TopProperty, e.GetPosition(canv).Y - (r.Height / 2));
  37. }
  38. }
  39. }
  40. private void usercontrol_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
  41. {
  42. bre.ReleaseMouseCapture();
  43. isDragging = false;
  44. }
  45. }
  46.  
  47. <Window x:Class="WpfApplication6.MainWindow"
  48. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  49. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  50. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  51. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  52. xmlns:local="clr-namespace:WpfApplication6"
  53. mc:Ignorable="d"
  54. Title="MainWindow" Height="350" Width="525">
  55. <Grid>
  56.  
  57. <Canvas x:Name="canv" Background="#FF131315" Margin="104,27,103,10">
  58. <local:UserControl1 x:Name="bre" Canvas.Left="81" Canvas.Top="31" Width="166" />
  59. </Canvas>
  60.  
  61. <UserControl x:Class="WpfApplication6.UserControl1"
  62. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  63. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  64. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  65. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  66. xmlns:local="clr-namespace:WpfApplication6"
  67. mc:Ignorable="d"
  68. d:DesignHeight="300" d:DesignWidth="300">
  69. <Grid Name="bre">
  70. <Ellipse x:Name="circleUI" Height="100" Width="100"
  71. Fill="Blue" />
  72. </Grid>
  73. </UserControl>
  74.  
  75. {
  76. public UserControl1()
  77. {
  78. InitializeComponent();
  79. }
  80.  
  81. public UserControl1(UserControl1 c)
  82. {
  83. InitializeComponent();
  84. this.circleUI.Height = c.circleUI.Height;
  85. this.circleUI.Width = c.circleUI.Height;
  86. this.circleUI.Fill = c.circleUI.Fill;
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement