mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-11 04:00:49 +08:00
修改内部使用方法,不需要使用页面绑定的命令
This commit is contained in:
@@ -648,15 +648,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
private ICommand _directAddItemCommand;
|
||||
public ICommand DirectAddItemCommand
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._directAddItemCommand ?? (this._directAddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectAddItemCommand));
|
||||
}
|
||||
}
|
||||
|
||||
private ICommand _addItemCommand;
|
||||
public ICommand AddItemCommand
|
||||
{
|
||||
@@ -666,15 +657,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
private ICommand _directRemoveItemCommand;
|
||||
public ICommand DirectRemoveItemCommand
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._directRemoveItemCommand ?? (this._directRemoveItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectRemoveItemCommand));
|
||||
}
|
||||
}
|
||||
|
||||
private ICommand _removeItemCommand;
|
||||
public ICommand RemoveItemCommand
|
||||
{
|
||||
@@ -1249,28 +1231,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
protected virtual void ExecuteCreateNewDiagramCommand(object parameter)
|
||||
{
|
||||
this.Items.Clear();
|
||||
}
|
||||
|
||||
private void ExecuteDirectAddItemCommand(object parameter)
|
||||
{
|
||||
if (parameter is SelectableDesignerItemViewModelBase ite)
|
||||
{
|
||||
if (AddVerify(ite) != true) return;
|
||||
|
||||
ClearSelectedItems();
|
||||
Add(ite);
|
||||
}
|
||||
else if (parameter is IEnumerable<SelectableDesignerItemViewModelBase> items)
|
||||
{
|
||||
if (items.Select(p => AddVerify(p)).Any() != true) return;
|
||||
|
||||
ClearSelectedItems();
|
||||
foreach (var item in items)
|
||||
{
|
||||
Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ExecuteAddItemCommand(object parameter)
|
||||
{
|
||||
@@ -1316,7 +1277,27 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return true;
|
||||
}
|
||||
|
||||
private void Add(SelectableDesignerItemViewModelBase item)
|
||||
//使用程序添加对象,比如Demo初始化
|
||||
public void Add(object parameter)
|
||||
{
|
||||
if (parameter is SelectableDesignerItemViewModelBase ite)
|
||||
{
|
||||
if (AddVerify(ite) != true) return;
|
||||
|
||||
Add(ite, false);
|
||||
}
|
||||
else if (parameter is IEnumerable<SelectableDesignerItemViewModelBase> items)
|
||||
{
|
||||
if (items.Select(p => AddVerify(p)).Any() != true) return;
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
Add(item, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Add(SelectableDesignerItemViewModelBase item, bool isSelected = true)
|
||||
{
|
||||
item.Root = this;
|
||||
item.ZIndex = Items.Any() ? Items.Max(p => p.ZIndex) + 1 : 0;
|
||||
@@ -1337,10 +1318,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
designerItemViewModelBase.SetCellAlignment();
|
||||
}
|
||||
Items.Add(item);
|
||||
item.IsSelected = true;
|
||||
item.IsSelected = isSelected;
|
||||
}
|
||||
|
||||
private void ExecuteDirectRemoveItemCommand(object parameter)
|
||||
public void Remove(object parameter)
|
||||
{
|
||||
if (parameter is SelectableDesignerItemViewModelBase ite)
|
||||
{
|
||||
@@ -1595,7 +1576,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
items.AddRange(connectors);
|
||||
DirectAddItemCommand.Execute(items);
|
||||
Add(items);
|
||||
|
||||
FixOtherInfo(items);
|
||||
}
|
||||
@@ -2490,7 +2471,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
groupItem = new GroupDesignerItemViewModel();
|
||||
}
|
||||
|
||||
DirectAddItemCommand.Execute(groupItem);
|
||||
Add(groupItem);
|
||||
|
||||
foreach (DesignerItemViewModelBase item in items)
|
||||
item.ParentId = groupItem.Id;
|
||||
|
||||
Reference in New Issue
Block a user