diff --git a/Library/Serein.Library.csproj b/Library/Serein.Library.csproj
index e81bb66..b0f5275 100644
--- a/Library/Serein.Library.csproj
+++ b/Library/Serein.Library.csproj
@@ -4,7 +4,8 @@
1.1.0
net8.0;net462
- D:\Project\C#\DynamicControl\SereinFlow\.Output
+ ..\.\.Output
+
True
SereinFow
基础依赖
diff --git a/NodeFlow/Env/FlowEnvironment.cs b/NodeFlow/Env/FlowEnvironment.cs
index ee66013..7caa234 100644
--- a/NodeFlow/Env/FlowEnvironment.cs
+++ b/NodeFlow/Env/FlowEnvironment.cs
@@ -767,6 +767,8 @@ namespace Serein.NodeFlow.Env
//}
}
+ private int _addCanvasCount = 0;
+
///
/// 增加画布
///
@@ -780,11 +782,14 @@ namespace Serein.NodeFlow.Env
{
Guid = Guid.NewGuid().ToString(),
Height = height,
- Name = canvasName,
+ Name = !string.IsNullOrWhiteSpace(canvasName) ? canvasName : $"流程图 {_addCanvasCount++}",
Width = height,
};
FlowCanvass.Add(model.Guid, model);
- OnCanvasCreate.Invoke(new CanvasCreateEventArgs(model));
+ UIContextOperation.Invoke(() =>
+ {
+ OnCanvasCreate.Invoke(new CanvasCreateEventArgs(model));
+ });
var info = model.ToInfo();
return Task.FromResult(info);
}
diff --git a/NodeFlow/Env/RemoteFlowEnvironment.cs b/NodeFlow/Env/RemoteFlowEnvironment.cs
index 7558825..95ad133 100644
--- a/NodeFlow/Env/RemoteFlowEnvironment.cs
+++ b/NodeFlow/Env/RemoteFlowEnvironment.cs
@@ -445,7 +445,7 @@ namespace Serein.NodeFlow.Env
Width = info.Width,
};
UIContextOperation?.Invoke(() =>
- OnCanvasCreate?.Invoke(new CanvasCreateEventArgs(info)));
+ OnCanvasCreate?.Invoke(new CanvasCreateEventArgs(model)));
return info;
}
diff --git a/NodeFlow/Serein.NodeFlow.csproj b/NodeFlow/Serein.NodeFlow.csproj
index 5eaf7b0..01bfb4b 100644
--- a/NodeFlow/Serein.NodeFlow.csproj
+++ b/NodeFlow/Serein.NodeFlow.csproj
@@ -5,7 +5,7 @@
net8.0
enable
enable
- D:\Project\C#\DynamicControl\SereinFlow\.Output
+ ..\.\.Output
True
SereinFow
管理节点的运行环境,非二次开发无须添加
diff --git a/Serein.Library.MyGenerator/Serein.Library.NodeGenerator.csproj b/Serein.Library.MyGenerator/Serein.Library.NodeGenerator.csproj
index fa5086e..13771c3 100644
--- a/Serein.Library.MyGenerator/Serein.Library.NodeGenerator.csproj
+++ b/Serein.Library.MyGenerator/Serein.Library.NodeGenerator.csproj
@@ -4,8 +4,7 @@
netstandard2.0
1.1.0
true
-
- D:\Project\C#\DynamicControl\SereinFlow\.Output
+ ..\.\.Output
True
SereinFow
基础依赖必须添加项,用于生成NodeModel部分的依赖实体代码
diff --git a/Serein.Script/Serein.Script.csproj b/Serein.Script/Serein.Script.csproj
index 75b6308..783b61f 100644
--- a/Serein.Script/Serein.Script.csproj
+++ b/Serein.Script/Serein.Script.csproj
@@ -4,6 +4,7 @@
net8.0
enable
enable
+ ..\.\.Output
diff --git a/Workbench/Serein.WorkBench.csproj b/Workbench/Serein.WorkBench.csproj
index cd26351..644a844 100644
--- a/Workbench/Serein.WorkBench.csproj
+++ b/Workbench/Serein.WorkBench.csproj
@@ -6,7 +6,7 @@
enable
enable
True
- D:\Project\C#\DynamicControl\SereinFlow\.Output
+ ..\.\.Output
MIT
true
diff --git a/Workbench/Services/FlowNodeService.cs b/Workbench/Services/FlowNodeService.cs
index db24001..1c32e62 100644
--- a/Workbench/Services/FlowNodeService.cs
+++ b/Workbench/Services/FlowNodeService.cs
@@ -117,7 +117,7 @@ namespace Serein.Workbench.Services
#endregion
-
+
#region 向运行环境发出请求
@@ -128,10 +128,13 @@ namespace Serein.Workbench.Services
///
public void CreateFlowCanvas()
{
- string canvasName = "";
int height = 1000;
int width = 600;
- _ = flowEnvironment.CreateCanvasAsync(canvasName, width, height);
+ _ = Task.Run(async () =>
+ {
+ var result = await flowEnvironment.CreateCanvasAsync("", width, height);
+ Console.WriteLine(result.Guid);
+ });
}
///
diff --git a/Workbench/ViewModels/FlowEditViewModel.cs b/Workbench/ViewModels/FlowEditViewModel.cs
index 5f1549c..45fab07 100644
--- a/Workbench/ViewModels/FlowEditViewModel.cs
+++ b/Workbench/ViewModels/FlowEditViewModel.cs
@@ -28,7 +28,6 @@ namespace Serein.Workbench.ViewModels
[ObservableProperty]
private FlowCanvasModel _selectedTab;
- private int _addCount = 0;
private readonly FlowNodeService flowNodeService;
public FlowEditViewModel(FlowNodeService flowNodeService)
@@ -37,8 +36,8 @@ namespace Serein.Workbench.ViewModels
AddTabCommand = new RelayCommand(AddTab);
RemoveTabCommand = new RelayCommand(RemoveTab, CanRemoveTab);
- flowNodeService.OnCreateFlowCanvasView += OnCreateFlowCanvasView; // 环境创建了节点
- flowNodeService.OnRemoveFlowCanvasView += OnRemoveFlowCanvasView;
+ flowNodeService.OnCreateFlowCanvasView += OnCreateFlowCanvasView; // 运行环境创建了画布
+ flowNodeService.OnRemoveFlowCanvasView += OnRemoveFlowCanvasView; // 运行环境移除了画布
this.PropertyChanged += OnPropertyChanged;
}
diff --git a/Workbench/ViewModels/FlowLibrarysViewModel.cs b/Workbench/ViewModels/FlowLibrarysViewModel.cs
index 122f978..d36d093 100644
--- a/Workbench/ViewModels/FlowLibrarysViewModel.cs
+++ b/Workbench/ViewModels/FlowLibrarysViewModel.cs
@@ -19,8 +19,6 @@ namespace Serein.Workbench.ViewModels
[ObservableProperty]
private ObservableCollection flowLibraryInfos;
-
-
public FlowLibrarysViewModel(IFlowEEForwardingService flowEEForwardingService)
{
this.flowEEForwardingService = flowEEForwardingService;
diff --git a/Workbench/ViewModels/FlowWorkbenchViewModel.cs b/Workbench/ViewModels/FlowWorkbenchViewModel.cs
index 4f3680b..387e870 100644
--- a/Workbench/ViewModels/FlowWorkbenchViewModel.cs
+++ b/Workbench/ViewModels/FlowWorkbenchViewModel.cs
@@ -14,8 +14,6 @@ namespace Serein.Workbench.ViewModels
{
private readonly IFlowEEForwardingService flowEEForwardingService;
-
-
public FlowWorkbenchViewModel(IFlowEEForwardingService flowEEForwardingService)
{
this.flowEEForwardingService = flowEEForwardingService;
diff --git a/Workbench/Views/FlowCanvasView.xaml.cs b/Workbench/Views/FlowCanvasView.xaml.cs
index b072ec1..e3cd238 100644
--- a/Workbench/Views/FlowCanvasView.xaml.cs
+++ b/Workbench/Views/FlowCanvasView.xaml.cs
@@ -26,7 +26,7 @@ namespace Serein.Workbench.Views
///
public partial class FlowCanvasView : UserControl
{
- public FlowCanvasViewModel ViewModel => ViewModel as FlowCanvasViewModel;
+ public FlowCanvasViewModel ViewModel => this.DataContext as FlowCanvasViewModel;
///
/// 存储所有的连接。考虑集成在运行环境中。
///
@@ -89,8 +89,8 @@ namespace Serein.Workbench.Views
private IFlowEnvironment EnvDecorator;
public FlowCanvasView()
{
- ViewModel = App.GetService().FlowCanvasViewModel;
- this.DataContext = ViewModel;
+ var vm = App.GetService().FlowCanvasViewModel;
+ this.DataContext = vm;
EnvDecorator = App.GetService();
InitializeComponent();