I'm looking for an advanced graph visualisation library for C# with the following features:

  • Adding nodes and edges programmatically & dynamically (i.e. I shouldn't have to construct the graph from CSV, or JSON every time I add a node and an edge)
  • Being able to interact with the graph, that is, to click (single, double and/or right) on the nodes and edges, to hover (so that I can show a tooltip), to select single or multiple nodes and/or edges.
  • Custom styling for nodes and edges, such as border width & colour, shape, colour (of the object), label, label formatting (bold, italic etc.)
  • Automatic layout

Coming from the front-end programming, many of the features above are indeed a subset of what many JavaScript libraries (such as vis.js, Sigma js, ...) do offer with a dead easy API.

I have looked at Graphviz4Net, Graph#, graphviznet but none of them offers anything near, and worse, seem to lack documentation that I am not even sure what they can offer me!


1 Answer 1


Essential Diagram for WPF supports creating any kind of diagram with nodes and connectors.

Adding nodes and edges programmatically & dynamically: Supported Being able to interact with the graph: Supported Custom styling for nodes and edges: Supported Automatic layout: Organization Chart, Hierarchical Tree and Radial Tree layouts are supported.

Diagram WPF with animated connectors

The whole product is available for free through the community license if you qualify (less than 1 million USD in revenue).

Note: I work for Syncfusion.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.