public DesignerItem(Guid id, ElementViewModel vm = null) { ID = id; Loaded += DesignerItem_Loaded; ElementViewModel = vm; //Unloaded += (sender, args) => }
protected override void OnDrop(DragEventArgs e) { base.OnDrop(e); var dragObject = e.Data.GetData(typeof (DragObject)) as DragObject; if (dragObject != null) // && !String.IsNullOrEmpty(dragObject.Xaml)) { DesignerItem newItem = null; //Object content = XamlReader.Load(XmlReader.Create(new StringReader(dragObject.Xaml))); var content = ""; if (content != null) { var vm = DataContext as EditorWindowViewModel; if (vm == null) { throw new ArgumentException("DataContext as ConstructorViewModel"); return; } var visualProperties = new VisualProperties(); //visualProperties.Size = var elementProperties = new ElementProperties(visualProperties, new DomainProperties()); var initialElement = dragObject.InitialElementViewModel.InitialElement; var model = new Element(initialElement, elementProperties); var elementViewModel = new ElementViewModel(model); elementViewModel.ElementPropertiesViewModel.Name = string.Format("{0} {1}", initialElement.Name, count++); newItem = new DesignerItem(elementViewModel); newItem.SizeChanged += (sender, args) => { var newSize = args.NewSize; elementViewModel.ElementPropertiesViewModel.ElementVisualPropertiesViewModel.Size = new ElementSize(newSize.Height, newSize.Width); }; var button = new Ellipse { //Width = 100, //Height = 100, Fill = Brushes.Aqua }; newItem.Content = ResourceUtil.GetResourceByName(dragObject.InitialElementViewModel.StyleName) ?? button; var position = e.GetPosition(this); if (dragObject.DesiredSize.HasValue) { var desiredSize = dragObject.DesiredSize.Value; newItem.Width = desiredSize.Width; newItem.Height = desiredSize.Height; SetLeft(newItem, Math.Max(0, position.X - newItem.Width/2)); SetTop(newItem, Math.Max(0, position.Y - newItem.Height/2)); } else { SetLeft(newItem, Math.Max(0, position.X)); SetTop(newItem, Math.Max(0, position.Y)); } newItem.SetCoords(); SetZIndex(newItem, Children.Count); Children.Add(newItem); SetConnectorDecoratorTemplate(newItem); //update selection SelectionService.SelectItem(newItem); newItem.Focus(); vm.Add(newItem.ElementViewModel); } e.Handled = true; } }
public void Remove(ElementViewModel elementViewModel) { Elements.Remove(elementViewModel); }
public void Add(ElementViewModel elementViewModel) { Elements.Add(elementViewModel); //Elements.Add(new Element(initialElement, new Coords(xCoord, yCoord))); }
public DesignerItem(ElementViewModel vm = null) : this(Guid.NewGuid(), vm) { }
public void Remove(ElementViewModel elementViewModel) { ConstructorViewModel.Remove(elementViewModel); }
public void Add(ElementViewModel elementViewModel) { ConstructorViewModel.Add(elementViewModel); }