PartManager.PartBinding of Node issue

Hi, here is the situation. we are using a GraphLinkModel where nodes type are from a custom class. I made sure to discover the relationships in these nodes by setting correctly the appropriate properties (NodeCategoryPath, NodeKeyPath,…). Then, when I drag a node from the Palette to my diagram, everything works just fine until I decide to override the Equals and GetHashCode methods in my custom node class. Then, a label is added into the diagram indcating that PartManager.PartBinding of Node to MyNode.

I don’t know where to look to solve this issue. One thing that I know is that the problem is related to a property Location that I added in my custom node class. This location seems to be bind correctly in my DataTemplate: go:Node.Location="{Binding Path=Data.Location, Mode=TwoWay}"

Do you have any ideas of what is happening?

I would first re-examine your override of Equals and GetHashCode. The usual reasons for doing so are likely to be in conflict with the desire to be able to modify properties on those objects. My first response is to say “don’t override those methods on your node data class or link data class”.

My fear by not overriding them is does it will impact the performance?

Yes, not overriding those methods should improve performance. In other words, you are probably making things more complicated and slower.

Well, I thought that by overriding those methods it will improve performance. But if you say that it’s not the case, then I will do like you said.