Today we are pleased to announce the release of WPF Diagrams version 4.0. WPF Diagrams comes with all the building blocks you need to create rich interactive or read-only diagrams in your applications. The API is extremely flexible, allowing you to create any type of diagram you require. Plenty of samples are included to gets started with the basics of flow-diagrams, star-diagram, activity-diagrams and general purpose diagrams. WPF Diagrams is also packed with great features such as advanced connection routing, layout algorithms, background grids and real-time user interaction controls.

Upgrade now

If you currently have an active subscription with WPF Diagrams 3.0, you can upgrade to version 4.0 for free. As no breaking changes have been introduced to the API, upgrading your existing projects will be a breeze. The main change is that WPF Diagrams has now been updated to .NET 4.0.

A lot has been added, improved and fixed since the release of WPF Diagrams 3.0, here are a few of the highlights:

Performance improvements

Various performance improvements have been made here and there allowing the WPF Diagrams framework to handle even larger diagrams with more nodes and connections. A huge performance boost was made to the A* path routing algorithm which now produces far better results with separating parallel overlapping connection. Read more about this here.

Tree layout algorithm improvements

Out of all our layout algorithms, the tree layout algorithm is the most commonly used for lots of different diagram types. We got lots of feedback over the past year for the tree layout and have implemented the following: A StationaryNode property that lets you specify any diagram-node that will not be moved by the algorithm. All other nodes will be laid out as usual, but are positioned around the specified stationary node. The new LayoutOrientation and GroupSpacing properties let you define how separate collections of nodes (trees) within the same diagram (forest) are arranged. Together with the existing LayoutDirection property, you can create any combination of tree layout that you need. The overall algorithm for positioning the nodes in a tree layout has also been improved.

Things to note in the below image is that the tree layout algorithm happily handles connection cycles, and adjacent groups can overlap where there is room.

Smart scrolling improvements

Smart scrolling is a feature that causes the viewport of the diagram to automatically scroll as the user performs an interaction that drags off the edge of the diagram. This feature has been around since version 1.0 of WPF Diagrams, but at first was a very basic implementation. This feature has been improved in version 4.0 to feel smoother and easier to use. This feature is now also used by some more user interactions that previously wasn’t supported such as creating new nodes and connections.