修改内部使用方法,不需要使用页面绑定的命令

This commit is contained in:
艾竹
2023-03-25 22:29:02 +08:00
parent 5e5da021ab
commit 90e94a7ec0
44 changed files with 337 additions and 435 deletions

View File

@@ -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;