diff --git a/AIStudio.Wpf.DiagramDesigner/AIStudio.Wpf.DiagramDesigner.csproj b/AIStudio.Wpf.DiagramDesigner/AIStudio.Wpf.DiagramDesigner.csproj index 5c56737..83c64dd 100644 --- a/AIStudio.Wpf.DiagramDesigner/AIStudio.Wpf.DiagramDesigner.csproj +++ b/AIStudio.Wpf.DiagramDesigner/AIStudio.Wpf.DiagramDesigner.csproj @@ -31,6 +31,7 @@ + diff --git a/AIStudio.Wpf.DiagramDesigner/Models/Values/ConstParameter.cs b/AIStudio.Wpf.DiagramDesigner/Models/Values/ConstParameter.cs index 5d9f111..5602648 100644 --- a/AIStudio.Wpf.DiagramDesigner/Models/Values/ConstParameter.cs +++ b/AIStudio.Wpf.DiagramDesigner/Models/Values/ConstParameter.cs @@ -11,7 +11,7 @@ namespace AIStudio.Wpf.DiagramDesigner public ConstParameter(ConstParameterItem item) { Text = item.Text; - Value = item.Value.ToString(); + Value = item.Value?.ToString(); } private string _text; diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Container/BlockItemsContainerInfo.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Container/BlockItemsContainerInfo.cs index c0e10dc..b0d4df7 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Container/BlockItemsContainerInfo.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Container/BlockItemsContainerInfo.cs @@ -351,5 +351,15 @@ namespace AIStudio.Wpf.DiagramDesigner return null; } } + + public override void Dispose() + { + base.Dispose(); + + foreach (var child in Children) + { + child.Dispose(); + } + } } } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModel.cs index efb7a0a..5b2f417 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModel.cs @@ -530,6 +530,19 @@ namespace AIStudio.Wpf.DiagramDesigner return null; } #endregion + + public override void Dispose() + { + base.Dispose(); + + if (ParentContainer == null) + { + foreach (var container in Containers) + { + container.Dispose(); + } + } + } } #region 扩展