Browse Source

补充上次提交

jiangjy 1 day ago
parent
commit
d01bd1d12b
1 changed files with 43 additions and 28 deletions
  1. 43 28
      FrameworkLocal/UIClient/CenterViews/Editors/Recipe/RecipeDataBase.cs

+ 43 - 28
FrameworkLocal/UIClient/CenterViews/Editors/Recipe/RecipeDataBase.cs

@@ -1288,28 +1288,28 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
 
         public void SetDelegateEvent(Step step)
         {
-            //MFCSetsCollectionChanged(step);
-            //TemperatureSetsCollectionChanged(step);
-            //ValveSetsCollectionChanged(step);
-            //AUXSetsCollectionChanged(step);
-
-            Task[] tasks = new Task[4];
-            tasks[0] = Task.Run(() => MFCSetsCollectionChanged(step));
-            tasks[1] = Task.Run(() => TemperatureSetsCollectionChanged(step));
-            tasks[2] = Task.Run(() => ValveSetsCollectionChanged(step));
-            tasks[3] = Task.Run(() => AUXSetsCollectionChanged(step));
-            try
-            {
-                Task.WaitAll(tasks);
-            }
-            catch (AggregateException ae)
-            {
-                LOG.Error("One or more errors occurred during delegate event processing:");
-                foreach (var ex in ae.InnerExceptions)
-                {
-                    LOG.Error($" - {ex.GetType().Name}: {ex.Message}");
-                }
-            }
+            MFCSetsCollectionChanged(step);
+            TemperatureSetsCollectionChanged(step);
+            ValveSetsCollectionChanged(step);
+            AUXSetsCollectionChanged(step);
+
+            //Task[] tasks = new Task[4];
+            //tasks[0] = Task.Run(() => MFCSetsCollectionChanged(step));
+            //tasks[1] = Task.Run(() => TemperatureSetsCollectionChanged(step));
+            //tasks[2] = Task.Run(() => ValveSetsCollectionChanged(step));
+            //tasks[3] = Task.Run(() => AUXSetsCollectionChanged(step));
+            //try
+            //{
+            //    Task.WaitAll(tasks);
+            //}
+            //catch (AggregateException ae)
+            //{
+            //    LOG.Error("One or more errors occurred during delegate event processing:");
+            //    foreach (var ex in ae.InnerExceptions)
+            //    {
+            //        LOG.Error($" - {ex.GetType().Name}: {ex.Message}");
+            //    }
+            //}
         }
 
         private void MFCSetsCollectionChanged(Step step)
@@ -1349,8 +1349,8 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
             {
                 if (item != null)
                 {
-                    item.PropertyChanged += step.ValveIsSaved_PropertyChanged;
-                    item.ValueChangedEvent += step.Item_ValveValueChangedEvent;
+                    item.PropertyChanged -= step.ValveIsSaved_PropertyChanged;
+                    item.ValueChangedEvent -= step.Item_ValveValueChangedEvent;
                 }
                 item.PropertyChanged += step.ValveIsSaved_PropertyChanged;
                 item.ValueChangedEvent += step.Item_ValveValueChangedEvent;
@@ -3201,14 +3201,24 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
                 {
                     foreach (MFCData item in e.OldItems)
                     {
-                        item.PropertyChanged -= MFCIsSaved_PropertyChanged;
-                        item.ValueChangedEvent -= Item_MFCValueChangedEvent;
+                        if (item != null)
+                        {
+                            item.PropertyChanged -= MFCIsSaved_PropertyChanged;
+                            item.ValueChangedEvent -= Item_MFCValueChangedEvent;
+                        }
+
                     }
                 }
                 if (e.NewItems != null)
                 {
                     foreach (MFCData item in e.NewItems)
                     {
+                        if (item != null)
+                        {
+                            item.PropertyChanged -= MFCIsSaved_PropertyChanged;
+                            item.ValueChangedEvent -= Item_MFCValueChangedEvent;
+
+                        }
                         item.PropertyChanged += MFCIsSaved_PropertyChanged;
                         item.ValueChangedEvent += Item_MFCValueChangedEvent;
                     }
@@ -3244,6 +3254,11 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
                 {
                     foreach (TempSetData item in e.NewItems)
                     {
+                        if (item != null)
+                        {
+                            item.PropertyChanged -= TemperatureIsSaved_PropertyChanged;
+                            item.ValueChangedEvent -= Item_TempValueChangedEvent;
+                        }
                         item.PropertyChanged += TemperatureIsSaved_PropertyChanged;
                         item.ValueChangedEvent += Item_TempValueChangedEvent;
                     }
@@ -3321,8 +3336,8 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
                     {
                         if (item != null)
                         {
-                            item.PropertyChanged += AUXIsSaved_PropertyChanged;
-                            item.ValueChangedEvent += Item_AUXValueChangedEvent;
+                            item.PropertyChanged -= AUXIsSaved_PropertyChanged;
+                            item.ValueChangedEvent -= Item_AUXValueChangedEvent;
                         }
                         item.PropertyChanged += AUXIsSaved_PropertyChanged;
                         item.ValueChangedEvent += Item_AUXValueChangedEvent;