mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
拖拽支持工具栏信息带入
This commit is contained in:
@@ -86,11 +86,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
dataObject.Icon = toolBoxData.Icon;
|
dataObject.Icon = toolBoxData.Icon;
|
||||||
dataObject.Text = toolBoxData.Text;
|
dataObject.Text = toolBoxData.Text;
|
||||||
dataObject.ColorViewModel = toolBoxData.ColorViewModel;
|
dataObject.ColorViewModel = toolBoxData.ColorViewModel;
|
||||||
//if (toolBoxData.Addition is DesignerItemViewModelBase designerItemViewModelBase)
|
if (toolBoxData.Addition is DesignerItemViewModelBase designerItemViewModelBase)
|
||||||
//{
|
{
|
||||||
// dataObject.DesignerItem = designerItemViewModelBase.ToSerializableItem();
|
dataObject.DesignerItem = designerItemViewModelBase.ToSerializableItem();
|
||||||
//}
|
}
|
||||||
//else
|
else
|
||||||
{
|
{
|
||||||
dataObject.DesignerItem = toolBoxData.Addition;
|
dataObject.DesignerItem = toolBoxData.Addition;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using System.Windows.Documents;
|
|||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Resources;
|
using System.Windows.Resources;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Helpers;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using AIStudio.Wpf.DiagramDesigner.ViewModels;
|
using AIStudio.Wpf.DiagramDesigner.ViewModels;
|
||||||
using AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel;
|
using AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel;
|
||||||
@@ -714,6 +715,29 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
_viewModel.AddCommand.Execute(designerItems);
|
_viewModel.AddCommand.Execute(designerItems);
|
||||||
}
|
}
|
||||||
|
else if (dragObject.DesignerItem is SerializableItem serializableItem)
|
||||||
|
{
|
||||||
|
Type type = TypeHelper.GetType(serializableItem.ModelTypeName);
|
||||||
|
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, _viewModel, serializableItem, ".json") as DesignerItemViewModelBase;
|
||||||
|
itemBase.Left = Math.Max(0, position.X - itemBase.GetItemWidth() / 2);
|
||||||
|
itemBase.Top = Math.Max(0, position.Y - itemBase.GetItemHeight() / 2);
|
||||||
|
if (dragObject.DesiredSize != null)
|
||||||
|
{
|
||||||
|
itemBase.ItemWidth = dragObject.DesiredSize.Value.Width;
|
||||||
|
itemBase.ItemHeight = dragObject.DesiredSize.Value.Height;
|
||||||
|
}
|
||||||
|
if (dragObject.DesiredMinSize != null)
|
||||||
|
{
|
||||||
|
itemBase.MinItemWidth = dragObject.DesiredMinSize.Value.Width;
|
||||||
|
itemBase.MinItemHeight = dragObject.DesiredMinSize.Value.Height;
|
||||||
|
}
|
||||||
|
_viewModel.AddCommand.Execute(itemBase);
|
||||||
|
|
||||||
|
if (itemBase is BlockDesignerItemViewModel block)
|
||||||
|
{
|
||||||
|
(_viewModel as IBlockDiagramViewModel).FinishNearBlock(new System.Collections.Generic.List<BlockDesignerItemViewModel> { block });
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DesignerItemViewModelBase itemBase = null;
|
DesignerItemViewModelBase itemBase = null;
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
public ConstParameterItem(ConstParameter viewmodel)
|
public ConstParameterItem(ConstParameter viewmodel)
|
||||||
{
|
{
|
||||||
Text = viewmodel.Text;
|
Text = viewmodel?.Text;
|
||||||
Value = viewmodel.Value?.ToString();
|
Value = viewmodel?.Value?.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user