A ShapeNode instance represents nodes in graphs, tree, process diagrams, and so on.
The shape of a node is specified through the Shape property. Shapes can be rotated, either interactively using the rotation handle above the node, or programmatically using the RotationAngle property.
Shape nodes can display images and text. Set an image to be painted inside a node by assigning it to the Image property. The position of the image within the node and its alignment are set by the ImageAlign property. To make a node as big as its image, call ResizeToFitImage.
Text inside a shape node is represented by the Text property. Its attributes can be changed by the TextBrush and TextFormat properties. To get even richer text formatting, set EnableStyledText to true and embed HTML-like formatting tags in the raw text. Text can be laid out inside arbitrary polygonal shapes by enabling PolygonalTextLayout. To make a node big enough to display its text without clipping, call ResizeToFitText.
To let users edit a node's text inline, call the BeginEdit method of DiagramView. Call EndEdit to exit in-place editing mode.
Fill and border colors can be specified by setting the Pen and Brush properties. Shape nodes can be transparent as set through the Transparent property.