Whenever you add a property to a custom node, you have to manage the changes to it correctly so that it ties into our Undo / Redo support.
It's not too hard if you follow the simple steps...
GraphNode defines a property called "Kind", which is the kind of flowchart symbol the node is. That property is managed by the code:
[code]
public GraphNodeKind Kind { get { return myKind; } set { GraphNodeKind old = myKind; if (old != value) { myKind = value; Changed(ChangedKind, (int)old, null, NullRect, (int)value, null, NullRect); OnKindChanged(old, value); } } } [/code]
Chapter 4 of the User Guide, the section on GoObject talks about Event Handling, and changes to objects.
Chapter 7 is on Implementing Undo and Redo in your app. All this stuff just works if you use our predefined nodes, but if you venture off into designing custom nodes, there isn't any way around not understanding this stuff. Chapter 7 talks about the ChangeValue method.
PropertyGrid is a .NET control, and isn’t directly integrated into GoDiagram. That integration has to be supplied by the application.
From the PropertyGrid documentation:
The information displayed in the grid is a snapshot of the properties at the time the object is assigned. If a property value of the object specified by the is SelectedObject changed in code at run time, the new value is not displayed until an action is taken in the grid that causes the grid to refresh.