public UserControlClass(src.Core.Project.Class class2Use) { InitializeComponent(); this.class2Use = class2Use; Loaded += UserControlClass_Loaded; labelClassName.MouseEnter += (s, e) => Mouse.OverrideCursor = Cursors.SizeAll; labelClassName.MouseLeave += (s, e) => Mouse.OverrideCursor = Cursors.Arrow; labelClassName.MouseLeftButtonDown += (s, e) => isMouseLeftButtonDown = true; labelClassName.MouseLeftButtonUp += (s, e) => isMouseLeftButtonDown = false; labelClassName.MouseMove += (s, e) => { if (!isMouseLeftButtonDown) { return; } var position2Parent = (Vector)Mouse.GetPosition((Grid)this.Parent); class2Use.Position = (Point)(position2Parent - new Vector(gridClass.ActualWidth / 2, 15)); gridClass.Margin = new Thickness(class2Use.Position.X, class2Use.Position.Y, 0, 0); }; }
public UserControlClassDetails() { InitializeComponent(); @class = new Core.Project.Class("MyClass"); listBoxInterfaces.ItemsSource = @class.Interfaces; listBoxFields.ItemsSource = @class.Fields; labelAddInterface.MouseLeftButtonDown += (s, e) => { var ran = new Random(); @class.Interfaces.Add( new Interface("IanotherInterface" + ran.Next(99).ToString())); expanderInterfaces.IsExpanded = true; }; labelRemoveInterface.MouseLeftButtonDown += (s, e) => { if (listBoxInterfaces.SelectedItem == null) { return; } @class.Interfaces. Remove(listBoxInterfaces.SelectedItem as Interface); }; labelAddField.MouseLeftButtonDown += (s, e) => { @class.Fields.Add(new src.Core.Project.Field()); expanderFields.IsExpanded = true; }; labelRemoveField.MouseLeftButtonDown += (s, e) => { if (listBoxFields.SelectedItem == null) { return; } @class.Fields. Remove(listBoxFields.SelectedItem as src.Core.Project.Field); }; }