Index: Core/Components/src/Core.Components.GraphSharp.Forms/PointedTreeGraphControl.cs =================================================================== diff -u -r190abb8cca2b36322c814f24ff94d2a03c71c61a -r52121a80b39cc28d523105ac01baed7836341839 --- Core/Components/src/Core.Components.GraphSharp.Forms/PointedTreeGraphControl.cs (.../PointedTreeGraphControl.cs) (revision 190abb8cca2b36322c814f24ff94d2a03c71c61a) +++ Core/Components/src/Core.Components.GraphSharp.Forms/PointedTreeGraphControl.cs (.../PointedTreeGraphControl.cs) (revision 52121a80b39cc28d523105ac01baed7836341839) @@ -157,22 +157,21 @@ private void VertexOnPropertyChanged(object sender, PropertyChangedEventArgs e) { - if (e.PropertyName == nameof(PointedTreeElementVertex.IsSelected)) + if (e.PropertyName == nameof(PointedTreeElementVertex.IsSelected) + && sender is PointedTreeElementVertex changedVertex + && changedVertex.IsSelected) { - if (sender is PointedTreeElementVertex changedVertex && changedVertex.IsSelected) + foreach (DrawnGraphNode drawnGraphNode in drawnGraphNodeList) { - foreach (DrawnGraphNode drawnGraphNode in drawnGraphNodeList) + if (drawnGraphNode.Vertex.IsSelected && drawnGraphNode.Vertex != changedVertex) { - if (drawnGraphNode.Vertex.IsSelected && drawnGraphNode.Vertex != changedVertex) - { - drawnGraphNode.Vertex.IsSelected = false; - } + drawnGraphNode.Vertex.IsSelected = false; + } - if (drawnGraphNode.Vertex == changedVertex && changedVertex.IsSelected) - { - Selection = drawnGraphNode.GraphNode; - OnSelectionChanged(e); - } + if (drawnGraphNode.Vertex == changedVertex && changedVertex.IsSelected) + { + Selection = drawnGraphNode.GraphNode; + OnSelectionChanged(e); } } }