MindFusion.Diagramming for WPF features the latest generation WPF graphical presentation tools provided by the .NET platform. As a result the programming process has become easier and quicker, the final diagrams are more attractive and lively.
MindFusion.Diagramming for WPF Uses include:
- workflow processes
- object hierarchies and relationships
- graphs and networks
- entity-relationship / database charts
- IVR systems
- industrial automation processes,
- genealogy trees
- algorithms and flowcharts
- organizational schemes
- XML documents
- classification hierarchies
MindFusion.Diagramming for WPF Main Features:
User Interaction
- Several user interaction modes
- Node modification constraints
- Scrolling and zooming
- Panning
- Automatic scrolling while dragging objects with the mouse
- Alignment to grid
- Multiple selection
- Tool-tips
- Docking points can be defined for nodes
- Mouse button mapping
- Undo/Redo support
- Copy and paste to/from Windows clipboard
Programming
- Programmatic access to the diagram objects and selections
- Numerous properties for customizing appearance and behavior
- Numerous utility methods
- Path finding and cycle detection
- Rich event set
Store and retrieve diagrams into/from
- Files on disk
- .NET streams
- ASCII strings
- XML documents
Output
- To the screen via Windows Presentation Foundation
- Printing and print preview
- To browser via the utility WebChart library
- Create bitmap images
- Create HTML image maps
Diagram Elements
- Use any WPF UIElement as a diagram node
- Control hosts allow using .NET controls as diagram nodes
- 87 predefined node shapes
- Tables with unlimited number of rows and columns
- Merge of table cells
- Custom diagram item types
- Arrows can comprise multiple segments
- Arrow segments can be straight lines or curves
- Behavior
- Tables can be scrolled
- In-place text editing
- Ability to set selection handles behaviour
- Lock diagram elements
- Expand / collapse of object hierarchies
- Read-only mode supported
- Dynamic positioning of arrows relative to linked nodes
Appearance
- Various text alignment styles
- Text can be laid-out in polygonal areas
- Styled HTML-like text formatting
- Different styles for visual indication of a selected object
- Z-order
- Nodes can display images and text
- Customizable fonts and colors
- Rich choice of pen and brush styles
- Ability to define custom node shapes
- User-assigned mouse cursors
- Custom painting of nodes
- Shadows
- Arcs over link intersection points
- Transparent nodes
- Invisible nodes
- Shape libraries
Behavior
- Tables can be scrolled
- In-place text editing
- Ability to set selection handles behaviour
- Lock diagram elements
- Expand / collapse object hierarchies
- Read-only mode supported
- Dynamic positioning of arrows relative to linked nodes
Diagram Structure
- Link nodes to nodes
- Link table rows to table rows
- Link table rows to nodes
- Unconnected arrows
Hierarchical grouping
- Attaching nodes to other nodes
- Attaching nodes to arrow control points
- Attaching nodes to arrow segments
Diagram Item Types - A list with the major node and link types that are provided with the WPF diagram control:
- Node Shapes - The WPF diagram control features more than 100 predefined node shapes.
- Table Nodes - Table (grid) objects can hold unlimited number of columns and rows.
- TreeView Nodes - The TreeViewNode-s are used to display hierarchical data.
- FreeFormNodes - A FreeFormNode collects all points from users' mouse or touch input and displays them as node's outline.
- Container Nodes - Containers hold other Node-s and can be nested one within another, the containment hierarchy depth is unlimited
- Link Shapes - Links can have various arrowhead shapes and you can associate such shapes with links origins and segment centers.
- Visio Nodes - The VisioNode class can be used to present shapes from Visio stencils inside diagrams.
- Templated Nodes - The TemplatedNode class represents nodes whose appearance is set through Xaml data templates.
- DiagramNodeAdapter - DiagramNodeAdapter is an adapter class that enables using any UIElement-derived object as a diagram node.
Additional Controls - Components that bring more functionality to your WPF flowchart application:
- Overview Control - The Overview control provides a scaled-down view of a Diagram and allows scrolling and zooming with the mouse.
- Ruler Control - The Ruler control provides horizontal and vertical scales that helps users measure and align diagram items.
- Zoom Control - The Zoom control lets user change interactively the current zoom level and scroll position of the diagram.
- ShapeListBox - The ShapeListBox lets users drag-and-drop a Shape to the diagram's canvas to create a new ShapeNode.
- Magnifier - The Magnifier has customizable appearance and zoom factor and is triggered by a mouse action or key stroke.
- TabbedDiagramView - The diagram pages can be activated through the tabs in the tray located at one of the four sides.
- LayerListView - The LayerListView is a list box with Layer-s that hold diagram items. Layers can be hidden, active and unlimited in number.
Automatic Layout Algorithms - Arrange any type of .NET diagram with the call of a single method:
- Process Layout - The SwimlaneLayout class places diagram nodes that represent activities on swim-lanes that represent resources.
- Anneal Layout - The AnnealLayout assigns costs to graph configurations and finding the minimum cost configuration.
- Topological Layout - The TopologicalLayout places nodes linearly and each node comes before all destination nodes of its outgoing links.
- Orthogonal Layout - The OrthogonalLayout draws each link as a chain of alternating horizontal and vertical segments.
- Layered Layout - The LayeredLayout arranges diagram nodes in distinct horizontal or vertical layers based on several criteria.
- Spring Layout 3D - An animated 3D version of the SpringLayout algorithm. You can rotate and pan the camera.
- Big Radial - The radial tree layout is a method of displaying a tree structure in a way that expands outwards, radially.
- Tree Layout - The TreeLayout combines several algorithms that arrange diagram nodes in tree-like hierarchies.
- Spring Layout - The SpringLayout simulates a physical system in which nodes repulse each other and links act as confining springs.
- One-way Layout - The OneWayLayout ensures that links enter nodes from the same direction and exit them from the opposite side.
- Clustered Layout - The EnableClusters property of SpringLayout makes diagrams laid out in distinct clusters as shown below.
- Circular Layout - CircularLayout distributes nodes evenly on the circumference of a circle at positions that have as few link crossing as possible.
- Composite Layout - CompositeLayout is a multi-level graph layout that combines several layout algorithms from the diagram library.
- Fractal Layout - The FractalLayout is a tree layout that places child nodes symmetrically around their parent node.
- Hierarchical Layout - The HierarchicalLayout places nodes on user-defined levels and all links have a single segment and do not intersect.
- Grid Layout - The GridLayout arranges diagram nodes in a grid, keeping connected nodes close together.
- TreeMap Layout - The TreeMapLayout class arranges hierarchical (tree-structured) data as a set of nested rectangles. Colors group items.
- Automatic Link Routing - The WPF diagram control includes various arrow routing options that rely on penalty values to calculate the cost of a route.
Importers and Exporters - MindFusion WPF diagram library lets you import and export flowcharts from/to a variety of sources:
- Visio 2003/2013 XML - The VisioImporter/ and VisioExporter classes handle .VDX / .VSDX files
- Bitmap Images - The CreateImage method lets you export .BMP, .PNG, JPG, .JPEG files.
- OpenOffice Draw - The DrawImporter class imports diagrams from .ODG files.
- Portable Document Format - The PdfExporter class exports the diagram to a .PDF file.
- Scalable Vector Graphics - Save your diagram with SvgExporter class into an .SVG class.
- Excel Open XML Format - The ExcelExporter class saves the diagram into an .XLSX file.
- Windows MetaFile - Export the diagram to .WMF with the WmfExporter class.
Diagram Types - Some of the flowchart types you can build with the WPF diagram control:
- Flowchart - A classic flowchart arranged with the Decision layout.
- Lane Diagram - The nodes in a Swim lane diagram are constrained to move only horizontally.
- Dialogue Chart - This diagram defines a dialogue that can be conducted by automated system.
- Hierarchy Chart - This diagram supports hierarchical grouping and collapsing/expanding subtrees.
- Chemical Synthesis - This diagram combines various text styling attributes.
- Classification Chart - The chart uses different arrowhead types and sizes as well expandable nodes.
- Genealogy Tree - Nodes hold images and custom painting is used to achieve the various visual effects.
- Database Entity-Relationship Diagram - Table nodes and perpendicular links are used to build this DB design chart.
- Network Chart - A diagram with Bezier links, image nodes and transparent nodes that hold text.
- Class Diagram - Each class is presented with its methods, properties and fields. Different API members are painted in different colors.
- Org Chart - Diagram nodes are styled through custom templates and support multiple images and text formats.
- Dir Tree - Use the diagram control to build a tree of all folders in a given directory and arrange them with the TreeLayout.
- Fishbone Diagram - This diagram is built by derived node classes that implement custom drawing and custom interaction handling.
- Molecule Viewer 3D - Use the DiagramView3D component to display a 3D model of the structural formula of a chemical compound.
- Sequence Diagram - This is an interactive flowchart that shows how objects operate with each another and in what order.
- Ternary Connections - When you draw a link an intermediate node is created under the mouse and three helper links.