Beispiel #1
0
        protected override void OnDrop(DragEventArgs e)
        {
            base.OnDrop(e);
            DragObject dragObject = e.Data.GetData(typeof(DragObject)) as DragObject;

            if (dragObject != null)
            {
                (DataContext as IDiagramViewModel).ClearSelectedItemsCommand.Execute(null);
                Point position = e.GetPosition(this);
                //fix old classes not supporting parameter for constructor (add object param = null) also fix converter?
                DesignerItemViewModelBase itemBase = (DesignerItemViewModelBase)Activator.CreateInstance(dragObject.ContentType, (DataContext as IDiagramViewModel) /*,dragObject.Metadata.Values.ToArray()*/);
                var iconicBase = itemBase as IHaveIconInfo;
                if (iconicBase != null)
                {
                    iconicBase.IconPath = (string)dragObject.Metadata["IconPath"];
                }
                var activityBase = itemBase as IAmActivity;
                if (activityBase != null)
                {
                    activityBase.ActivityName = (string)dragObject.Metadata["ActivityName"];
                }
                itemBase.Left       = Math.Max(0, position.X - DesignerItemViewModelBase.ItemWidth / 2);
                itemBase.Top        = Math.Max(0, position.Y - DesignerItemViewModelBase.ItemHeight / 2);
                itemBase.IsSelected = true;
                (DataContext as IDiagramViewModel).AddItemCommand.Execute(itemBase);
            }
            e.Handled = true;
        }
Beispiel #2
0
 public FullyCreatedConnectorInfo(DesignerItemViewModelBase dataItem, ConnectorOrientation orientation)
     : base(orientation)
 {
     this.DataItem = dataItem;
 }