/// <summary> /// Handle select event by selecting node. /// </summary> public void Handle(EntitySelectedEvent eventToHandle) { if (DiagramManager == null) { return; } if (!DiagramManager.MustHandleExisting(eventToHandle.ObjectBase.Id)) { return; } IBaseNode baseNode = DiagramModel.GetNode(eventToHandle.ObjectBase.Id); if (baseNode == null) { return; } IContainerBase parentContainer = baseNode.GetParent(); // Show node and parents baseNode.Hidden = false; baseNode.ShowParents(); _view.ExpandParents(baseNode); // Expand parent var parentContainerNode = parentContainer as IContainerNode; if (parentContainerNode != null) { Focus(parentContainerNode); } _view.ClearSelection(); _view.Select(baseNode); _view.CenterAt(baseNode); }