private void RemoveConnector(IDiagramConnector diagramConnector) { if (!TryGetDiagramConnectorViewModel(diagramConnector.Id, out var diagramConnectorViewModel)) { return; } MiniButtonPanelViewModel.Unfocus(diagramConnectorViewModel); _diagramConnectorToViewModelMap.Remove(diagramConnector.Id); DiagramConnectorViewModels.Remove(diagramConnectorViewModel); diagramConnectorViewModel.Dispose(); }
private void RemoveFromViewModels(DiagramShapeViewModelBase diagramShapeViewModel) { if (diagramShapeViewModel is DiagramNodeViewModel) { var diagramNodeViewModel = (DiagramNodeViewModel)diagramShapeViewModel; DiagramNodeViewModels.Remove(diagramNodeViewModel); diagramNodeViewModel.Dispose(); } else if (diagramShapeViewModel is DiagramConnectorViewModel) { var diagramConnectorViewModel = (DiagramConnectorViewModel)diagramShapeViewModel; DiagramConnectorViewModels.Remove(diagramConnectorViewModel); diagramConnectorViewModel.Dispose(); } else { throw new Exception($"Unexpected DiagramShapeViewModelBase: {diagramShapeViewModel.GetType().Name}"); } }