This commit is contained in:
艾竹
2023-07-22 19:11:08 +08:00
parent 8ab43ecae1
commit b6e095293c
5 changed files with 122 additions and 3 deletions

View File

@@ -176,7 +176,20 @@ namespace AIStudio.Wpf.DiagramDesigner
{
SetProperty(ref _actualItemHeight, value);
}
}
}
private IParameter _parameter;
public IParameter Parameter
{
get
{
return _parameter;
}
set
{
SetProperty(ref _parameter, value);
}
}
private ObservableCollection<BlockDesignerItemViewModel> _children = new ObservableCollection<BlockDesignerItemViewModel>();
public ObservableCollection<BlockDesignerItemViewModel> Children
@@ -322,7 +335,14 @@ namespace AIStudio.Wpf.DiagramDesigner
{
if (OnlyOneChild)
{
return Children.FirstOrDefault()?.GetResult();
if (Children?.Count == 1)
{
return Children.FirstOrDefault()?.GetResult();
}
else
{
return Parameter?.Value;
}
}
else
{

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using AIStudio.Wpf.DiagramDesigner.Geometrys;
using AIStudio.Wpf.DiagramDesigner.Models;
@@ -248,6 +249,19 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
private bool _isExecuting;
public bool IsExecuting
{
get
{
return _isExecuting;
}
set
{
SetProperty(ref _isExecuting, value);
}
}
public string Flag
{
get; set;
@@ -409,11 +423,29 @@ namespace AIStudio.Wpf.DiagramDesigner
}
#region
public virtual void Execute()
public void Execute()
{
BeforeExecute();
Executing();
AfterExecute();
}
public virtual void BeforeExecute()
{
IsExecuting = true;
}
public virtual void Executing()
{
}
public virtual void AfterExecute()
{
IsExecuting = false;
Next?.Execute();
}
public virtual object GetResult()
{
if (FirstContainer != null)