public UserControl_MovableElement AddMovableElement(FrameworkElement element) { var movableElement = new UserControl_MovableElement(element); movableElement.ElementSelected += MovableElement_ElementSelected; m_canvas.Children.Add(movableElement); Canvas.SetTop(movableElement, 0); Canvas.SetLeft(movableElement, 0); m_elements.Add(movableElement); return movableElement; }
private static void MoveElement(UserControl_MovableElement movableElement, Vector offset) { double new_x = Canvas.GetLeft(movableElement); double new_y = Canvas.GetTop(movableElement); new_x += offset.X; new_y += offset.Y; Canvas.SetLeft(movableElement, new_x); Canvas.SetTop(movableElement, new_y); }
private void MovableElement_ElementSelected(object sender, SelectionChangedEventArgs e) { var c = sender as UserControl_MovableElement; SelectedElement = (c != null && c.IsSelected) ? c : null; }
private void RaiseElementSelectedEvent(UserControl_MovableElement oldElement, UserControl_MovableElement newElement) { var args = new SelectionChangedEventArgs ( UserControl_CanvasWithMovableElements.ElementSelectedEvent, (oldElement != null) ? new Collection<UserControl_MovableElement>(new[] { oldElement }) : new Collection<UserControl_MovableElement>(), new Collection<UserControl_MovableElement>(new[] { newElement }) ); RaiseEvent(args); }
public void RemoveMovableElement(UserControl_MovableElement movableElement) { m_canvas.Children.Remove(movableElement); m_elements.Remove(movableElement); }