mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-19 07:56:35 +08:00
改写NodeModelBase类,使其继承Serein.Library.Api下的IFlowNode接口,而实现类迁移到NodeModel项目,方便后续节点运行逻辑修改时不用重新编译类库。
This commit is contained in:
@@ -16,6 +16,7 @@ using Serein.Workbench.Services;
|
||||
using Serein.Workbench.Tool;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using Serein.Library.Api;
|
||||
|
||||
namespace Serein.Workbench.Node.View
|
||||
{
|
||||
@@ -60,15 +61,15 @@ namespace Serein.Workbench.Node.View
|
||||
|
||||
#region 控件属性,所在的节点
|
||||
public static readonly DependencyProperty NodeProperty =
|
||||
DependencyProperty.Register(nameof(MyNode), typeof(NodeModelBase), typeof(ParamsArgControl), new PropertyMetadata(default(NodeModelBase)));
|
||||
DependencyProperty.Register(nameof(MyNode), typeof(IFlowNode), typeof(ParamsArgControl), new PropertyMetadata(default(IFlowNode)));
|
||||
//public NodeModelBase NodeModel;
|
||||
|
||||
/// <summary>
|
||||
/// 所在的节点
|
||||
/// </summary>
|
||||
public NodeModelBase MyNode
|
||||
public IFlowNode MyNode
|
||||
{
|
||||
get { return (NodeModelBase)GetValue(NodeProperty); }
|
||||
get { return (IFlowNode)GetValue(NodeProperty); }
|
||||
set { SetValue(NodeProperty, value); }
|
||||
}
|
||||
#endregion
|
||||
@@ -194,15 +195,15 @@ namespace Serein.Workbench.Node.View
|
||||
|
||||
#region 控件属性,所在的节点
|
||||
public static readonly DependencyProperty NodeProperty =
|
||||
DependencyProperty.Register(nameof(MyNode), typeof(NodeModelBase), typeof(JunctionControlBase), new PropertyMetadata(default(NodeModelBase)));
|
||||
DependencyProperty.Register(nameof(MyNode), typeof(IFlowNode), typeof(JunctionControlBase), new PropertyMetadata(default(IFlowNode)));
|
||||
//public NodeModelBase NodeModel;
|
||||
|
||||
/// <summary>
|
||||
/// 所在的节点
|
||||
/// </summary>
|
||||
public NodeModelBase MyNode
|
||||
public IFlowNode MyNode
|
||||
{
|
||||
get { return (NodeModelBase)GetValue(NodeProperty); }
|
||||
get { return (IFlowNode)GetValue(NodeProperty); }
|
||||
set { SetValue(NodeProperty, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Serein.Library.Api;
|
||||
|
||||
namespace Serein.Workbench.Node.ViewModel
|
||||
{
|
||||
@@ -14,9 +15,9 @@ namespace Serein.Workbench.Node.ViewModel
|
||||
///// <summary>
|
||||
///// 对应的节点实体类
|
||||
///// </summary>
|
||||
public NodeModelBase NodeModel { get; }
|
||||
public IFlowNode NodeModel { get; }
|
||||
|
||||
public NodeControlViewModelBase(NodeModelBase nodeModel)
|
||||
public NodeControlViewModelBase(IFlowNode nodeModel)
|
||||
{
|
||||
NodeModel = nodeModel;
|
||||
|
||||
|
||||
@@ -23,11 +23,11 @@ namespace Serein.Workbench.Node.View
|
||||
/// <summary>
|
||||
/// 起始节点
|
||||
/// </summary>
|
||||
public NodeModelBase StartNode { get; set; }
|
||||
public IFlowNode StartNode { get; set; }
|
||||
/// <summary>
|
||||
/// 目标节点
|
||||
/// </summary>
|
||||
public NodeModelBase EndNode { get; set; }
|
||||
public IFlowNode EndNode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 来源于起始节点的(控制点)类型
|
||||
@@ -63,7 +63,7 @@ namespace Serein.Workbench.Node.View
|
||||
/// <summary>
|
||||
/// 对应的视图对象
|
||||
/// </summary>
|
||||
public NodeModelBase NodeModel { get; set; }
|
||||
public IFlowNode NodeModel { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Serein.Library;
|
||||
using Serein.Library.Api;
|
||||
using Serein.NodeFlow.Model;
|
||||
using Serein.Workbench.Api;
|
||||
using Serein.Workbench.Services;
|
||||
@@ -37,7 +38,7 @@ namespace Serein.Workbench.Node.ViewModel
|
||||
/// 当前所选节点
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private NodeModelBase _selectNode;
|
||||
private IFlowNode _selectNode;
|
||||
|
||||
|
||||
[ObservableProperty]
|
||||
@@ -88,7 +89,7 @@ namespace Serein.Workbench.Node.ViewModel
|
||||
FlowCallNode.ResetTargetNode();
|
||||
}
|
||||
|
||||
partial void OnSelectNodeChanged(NodeModelBase value)
|
||||
partial void OnSelectNodeChanged(IFlowNode value)
|
||||
{
|
||||
if(value is null)
|
||||
{
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Serein.Workbench.Node.ViewModel
|
||||
private UserControl _nodeUIContent;
|
||||
|
||||
|
||||
public UINodeControlViewModel(NodeModelBase nodeModel) : base(nodeModel)
|
||||
public UINodeControlViewModel(IFlowNode nodeModel) : base(nodeModel)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user