using System.ComponentModel; using Serein.Library; using System.Runtime.CompilerServices; using System.Windows.Controls; using System.Windows.Data; using System; namespace Serein.Workbench.Node.ViewModel { public abstract class NodeControlViewModelBase { ///// ///// 对应的节点实体类 ///// public NodeModelBase NodeModel { get; } public NodeControlViewModelBase(NodeModelBase nodeModel) { NodeModel = nodeModel; } //private NodeModelBase _nodeModelBase; //public NodeModelBase NodeModel //{ // get => _nodeModelBase; set // { // if (value != null) // { // _nodeModelBase = value; // OnPropertyChanged(); // } // } //} //private bool isSelect; ///// ///// 表示节点控件是否被选中 ///// //internal bool IsSelect //{ // get => isSelect; // set // { // isSelect = value; // OnPropertyChanged(); // } //} private bool isInterrupt; ///// ///// 控制中断状态的视觉效果 ///// public bool IsInterrupt { get => NodeModel.DebugSetting.IsInterrupt; set { NodeModel.DebugSetting.IsInterrupt = value; OnPropertyChanged(); } } public event PropertyChangedEventHandler? PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string propertyName = null) { //Console.WriteLine(propertyName); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } /// /// 使节点获得中断能力(以及是否启用节点) /// //public NodeDebugSetting DebugSetting //{ // get => Node.DebugSetting; // set // { // if (value != null) // { // Node.DebugSetting = value; // OnPropertyChanged(); // } // } //} /// /// 使节点能够表达方法信息 /// //public MethodDetails MethodDetails //{ // get => Node.MethodDetails; // set // { // if(value != null) // { // Node.MethodDetails = value; // OnPropertyChanged(); // } // } //} } }