private void ExecuteDeleteCommand(object parameter) { if (parameter is NodeConnectorModel) { var connector = (parameter as NodeConnectorModel); (connector.ArrivalNode as ProfileConnectorModel).Departures.Remove(connector.DepartureNode as ProfileConnectorModel); (connector.DepartureNode as ProfileConnectorModel).Arrivals.Remove(connector.ArrivalNode as ProfileConnectorModel); NodeConnectors.Remove(parameter as NodeConnectorModel); } else if (parameter is ITreeItemModel) { var root = (parameter as ITreeItemModel).GetRoot(); (parameter as ITreeItemModel).Parent.Children.Remove(parameter as ITreeItemModel); (root as GroupModel).RefreshByExtended(); } }