Пример #1
0
        public override void RemoveConnections()
        {
            GraphEditorViewModel editor = (GraphEditorViewModel)((MainWindow)(App.Current.MainWindow)).VisualEditor.DataContext;
            List <NodePin>       pins   = new List <NodePin>();

            pins.AddRange(Inputs.Select(pin => pin.Pin));
            pins.AddRange(Outputs.Select(pin => pin.Pin));
            pins.AddRange(ExecutionInputs.Select(pin => pin.Pin));
            pins.AddRange(ExecutionOutputs.Select(pin => pin.Pin));

            List <ConnectionViewModel> connectionsToRemove = new List <ConnectionViewModel>();

            foreach (var connection in editor.Connections)
            {
                if (pins.Contains(connection.InputPinControl) || (pins.Contains(connection.OutputPinControl)))
                {
                    connectionsToRemove.Add(connection);
                }
            }

            foreach (var connection in connectionsToRemove)
            {
                editor.Connections.Remove(connection);
            }
        }