using Serein.NodeFlow.Model; using Serein.Workbench.Node.ViewModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace Serein.Workbench.Node.View { /// /// UserControl1.xaml 的交互逻辑 /// public partial class GlobalDataControl : NodeControlBase, INodeJunction, INodeContainerControl { public GlobalDataControl() : base() { // 窗体初始化需要 base.ViewModel = new GlobalDataNodeControlViewModel(new SingleGlobalDataNode(null)); DataContext = ViewModel; InitializeComponent(); } public GlobalDataControl(GlobalDataNodeControlViewModel viewModel) : base(viewModel) { DataContext = viewModel; InitializeComponent(); } /// /// 入参控制点(可能有,可能没) /// JunctionControlBase INodeJunction.ExecuteJunction => this.ExecuteJunctionControl; /// /// 下一个调用方法控制点(可能有,可能没) /// JunctionControlBase INodeJunction.NextStepJunction => this.NextStepJunctionControl; /// /// 返回值控制点(可能有,可能没) /// JunctionControlBase INodeJunction.ReturnDataJunction => throw new NotImplementedException(); /// /// 方法入参控制点(可能有,可能没) /// JunctionControlBase[] INodeJunction.ArgDataJunction => throw new NotImplementedException(); public void PlaceNode(NodeControlBase nodeControl) { GlobalDataPanel.Children.Clear(); GlobalDataPanel.Children.Add(nodeControl); } public void TakeOutNode(NodeControlBase nodeControl) { GlobalDataPanel.Children.Remove(nodeControl); } public void TakeOutAll() { GlobalDataPanel.Children.Clear(); } } }