What's new in MindFusion.Diagramming for WPF 4.0.9

Apr 24, 2024
  • Context menu support and events
  • Custom ImageSource serialization to JSON
  • DiagramDocument print & preview fix

New in MindFusion.Diagramming for WPF 4.0.8 (Mar 28, 2024)

  • CompositeLayout partitions by link density
  • AnnealLayout normalized for MeasureUnit
  • disable AutoDeleteLinks to keep deleted node's links
  • enable FlipImage to flip Image along with node

New in MindFusion.Diagramming for WPF 4.0.7 (Mar 7, 2024)

  • Support for custom Anchor* classes
  • JsonSerializeTag event raised for AnchorPoint.Tag
  • Bugfix: custom cell templates not rendering
  • Bugfix: CreateImage exporting nodes at zero position
  • Bugfix: Disallow* mouse cursors not appearing

New in MindFusion.Diagramming for WPF 4.0.5 (Feb 14, 2024)

  • Fixed NodeRenderer inside custom templates ContainerNode fixes

New in MindFusion.Diagramming for WPF 3.9 (Jan 4, 2023)

  • PatternRouter link routing class
  • CompositeRouter link routing class
  • SvgExporter improvements
  • RoutingOptions.PolylineRouting property
  • RoutingOptions.AvoidOverlaps property

New in MindFusion.Diagramming for WPF 3.8.3 (Nov 17, 2022)

  • Layout parallelism in CoreCLR assemblies
  • New grouping types
  • New resize mode in swimlanes grid
  • SVG rendering improvements

New in MindFusion.Diagramming for WPF 3.8.1 (Jan 25, 2022)

  • .NET 6 assemblies
  • ArrangeAsync in CoreCLR assemblies
  • PathFinder.EnumAllPaths

New in MindFusion.Diagramming for WPF 3.8 (Jan 25, 2022)

  • improved ContainerNode API
  • scrollable containers
  • dragging from list controls adds to container
  • container.ClipChildren property
  • container.AutoDeleteChildren property
  • container.FoldedSize property
  • container.ResizeToFitChildren method

New in MindFusion.Diagramming for WPF 3.7 (Jan 25, 2022)

  • SvgNode class renders SVG drawings
  • import diagrams from SVG
  • BarcodeNode now supports code 128 barcodes

New in MindFusion.Diagramming for WPF 3.6.3 (May 26, 2021)

  • New:
  • Lasso-zoom tool
  • Layouts process TreeViewItem links
  • New ImageAlign modes
  • More compact layered layouts
  • InitializeLasso event

New in MindFusion.Diagramming for WPF 3.6.2 (Jan 28, 2021)

  • FishboneDiagram control
  • .NET 5 assemblies
  • ImageBrush support in Pdf/Svg exporters
  • TextLinePositions property
  • arc direction fixes in Pdf/Svg exporters

New in MindFusion.Diagramming for WPF 3.6 (Aug 12, 2020)

  • New:
  • Animated layout
  • ContainerNode.Arrange method
  • ContainerNode.AutoGrow property
  • JSON serialization
  • PdfExporter supports right-to-left text
  • Fixed PDF export on Chinese versions of Windows
  • Modification cancelled events

New in MindFusion.Diagramming for WPF 3.5.5 (Jul 23, 2019)

  • fixed Clear method of diagram item collections
  • fixed PDF and SVG export glitches
  • fixed multiple resize when AutoAlignNodes enabled
  • fix for link texts with pipe symbols hiding

New in MindFusion.Diagramming for WPF 3.5.4 (Jan 30, 2019)

  • Export diagrams to DXF format
  • LayeredLayout.LinkPadding works for all link types
  • Performance improvements
  • MoveShades mode supported for templated nodes
  • Fixed ExcelExporter exceptions
  • RerouteLinks.Never considered by multiple selection

New in MindFusion.Diagramming for WPF 3.5.3 (May 3, 2018)

  • Diagram.Compact method compacts the diagram
  • selection lasso extend-mode
  • LayeredLayout fix for large distances after long nodes
  • LayeredLayout.KeepLinkShapes property
  • improved LayeredLayout with folded containers
  • ExcelExporter fixes
  • FindAllCycles and EnumAllCycles speed improved
  • local Z order in containers
  • keep multiple selection inside the diagram

New in MindFusion.Diagramming for WPF 3.5.2 (Oct 27, 2017)

  • Export Excel files:
  • The ExcelExporter class from MindFusion.Diagramming.Wpf.ExcelExport.dll assembly exports diagrams to Excel Open XML Format (XLSX) files. Diagrams are exported as Excel AutoShapes drawings. The Export overload that takes a DiagramDocument parameter creates a sheet for each DiagramPage in the document. The Export(Diagram) overload creates a single Excel sheet.
  • Miscellaneous:
  • ImagePadding property of ShapeNode, TableNode and Cell lets you set padding space between element's borders and the contained Image.
  • Visio2013Exporter now applies the TextVerticalAlignment property of nodes.
  • Improved GridRouter routes when connected nodes are close to each other.

New in MindFusion.Diagramming for WPF 3.4.2 (Jan 19, 2017)

  • new Spline shape implemented for links
  • SegmentCount settable for auto-routed links
  • DiagramNode.Bounds supports binding
  • RotationStep specifies rotation increment
  • extension methods for fluent API
  • GridRouter can find longer paths with lower total cost
  • run SpringLayout iterations from worker thread

New in MindFusion.Diagramming for WPF 3.4.1 (Jan 19, 2017)

  • free-form lasso selection mode
  • ShapeListBox control
  • NodeRenderer repaint automatically
  • shape formula improvements
  • DiagramLink.HeadStrokeDashStyle property
  • pan interaction with inertia
  • PDF exporter supports page hyperlinks
  • Grid.AllowAddHeaders property

New in MindFusion.Diagramming for WPF 3.4 (Jan 19, 2017)

  • free-form drawing, FreeFormNode class
  • adjustment handles for Shape formula parameters
  • undo / redo records for in-place edit
  • Center text style improved for vertical links
  • fix for links to nested folded containers
  • AdjustmentHandle class represents handles

New in MindFusion.Diagramming for WPF 3.3.1 (Jan 19, 2017)

  • show QR, UPC and EAN barcodes in nodes
  • resize table columns and rows
  • undo / redo support in ShapeDesigner control
  • KeepInsideDiagram node constraint
  • reroute links while dragging their end points
  • improved dash-frame default colors

New in MindFusion.Diagramming for WPF 3.3 (Jan 19, 2017)

  • VisioNode objects display Visio stencil shapes
  • LicenseKey property disables evaluation mode
  • RowAnchorPattern sets pattern for all table rows
  • associate AnchorPattern with Shape definitions
  • XUnit and YUnit properties added to AnchorPoint
  • ChangeUnit now also scales stoke widths
  • edit anchor point positions in shape designer
  • alignment grid in shape designer control
  • LinkHitDistance is now a dependency property

New in MindFusion.Diagramming for WPF 3.2 (Jan 19, 2017)

  • support for node Xaml templates
  • support for table cell Xaml templates
  • shape designer control
  • Shape.LinkSegmentInset property added
  • improved arrowhead rendering
  • multiple-resize fix for rotated nodes
  • LinkLabel.Brush property
  • improved VisioExporter export speed
  • Visio2013Exporter improvements
  • DrawForeground event for custom-drawing
  • zoom methods added to DiagramView

New in MindFusion.Diagramming for WPF 3.1 (Jan 19, 2017)

  • TreeMapLayout tree mapping algorithm
  • DecisionLayout algorithm for arranging simple flowcharts
  • layout classes automatically resize Diagram.Bounds

New in MindFusion.Diagramming for WPF 3.0.5 (Jun 5, 2014)

  • Export Visio 2013 files:
  • The Visio2013Exporter class can export the content of Diagram and DiagramDocument objects to Visio 2013 VSDX files. In order to use it, add a reference to the MindFusion.Diagramming.Wpf.VisioExport.dll assembly. Similarly to the VDX format exporter, Visio2013Exporter relies on a template file, called Visio2013.vxt, containing some boilerplate Visio XML code. The template must be either located in same folder as the application assemblies, or its path must be specified via the TemplatePath property. At this time the exporter supports shapes from Visio basic stencil. Support for more shapes will be added upon request.
  • Visio2013Importer improvements:
  • The importer now supports Visio group shapes. Child shapes in groups are no longer lost when importing, and their corresponding diagram nodes are attached to the corresponding group node.
  • Visio NURBS curves are now imported as Bezier-style links.
  • Fix for importing connectors with applied rotation transform.
  • Shapes with a ‘hidden’ attribute in master definition are now imported as invisible items.
  • The Item argument of ImportItem event handlers is now pre-set to a DiagramItem instance created for the imported Visio shape, letting you avoid parsing some standard data such as Bounds or Text. You can either modify this item's properties, or replace it with a new instance of a different type.
  • Fixed a crash when a shape master does not have a name attribute (this happens with custom stencils)
  • Fixed a crash when theme1.xml is missing from the imported vsdx archive (this happens with files converted from old Visio versions to 2013 format)
  • Fixed a parse exception for some non-English locales.
  • Fixed a bug where one-segment connectors were imported at wrong positions.
  • Miscellanous:
  • the SetSelfLoopShape event is raised when a link becomes a self-loop, giving you a chance to set a custom shape for the link.
  • LinkLabels are now copied by DiagramLink copy constructor and clipboard methods.
  • Fixed LinkLabel positioning along Bezier links.
  • NodeStyleSelector property of VirtualizingDiagram lets you dynamically apply styles based on node's data.
  • Changing Diagram's ZoomFactor now updates zoom control slider automatically.
  • Fix for wrong scale when printing diagrams with MeasureUnit different from WpfPoint.
  • API changes:
  • The SelectionMoved event has been renamed to SelectionModified, and is also raised if nodes are resized when AllowMultipleResize is enabled. Event handlers now receive SelectionEventArgs parameter instead of EventArgs.
  • The SelectionMoving event has been renamed to SelectionModifying, and is also raised if nodes are resized when AllowMultipleResize is enabled. Event handlers now receive SelectionValidationEventArgs parameter instead of ValidationEventArgs.

New in MindFusion.Diagramming for WPF 3.0.4 (Jan 30, 2014)

  • Import Visio 2013 files:
  • The Visio2013Importer class can import .vsdx files, created by version 2013 of Microsoft Visio. In order to use it, you must add a reference to the MindFusion.Diagramming.Wpf.VisioImport.dll assembly. Various overloads of the Import method can be used to import the Visio drawing into a DiagramDocument whose pages correspond to the Visio pages, or into a single Diagram whose content is merged from all imported pages. When merging multiple pages, their positions in the diagram depend on the PagesPerRow value. Visio2013Importer supports Visio's basic flowchart and data flow stencils. For each node shape from the .vsdx file, the importer creates a ShapeNode object whose Shape, Text, Brush and Stroke properties are set to values corresponding to the imported Visio shape. For each connector shape, the importer creates a DiagramLink object whose Origin and Destination are set to the corresponding imported nodes, and whose ControlPoints reflect the geometry of the connector.
  • Zoom control:
  • The ZoomControl class lets user change interactively the current zoom level and scroll position of a Diagram or DiagramView. To set it up, add a ZoomControl to the window, place it anywhere over the target diagram, and set the control's Target property to that diagram or view. Set the ZoomStep and ScrollStep properties to specify the amount added to view's zoom level or scroll position by ZoomControl's buttons. You can customize the control's appearance by setting properties such as Fill, Stroke, CornerRadius and TickPosition.
  • Miscellaneous:
  • Enable the AllowRenamePages property of TabbedDiagramView to let users rename a DiagramPage interactively by clicking its tab.
  • Several new shapes added for better compatibility with Visio 2013 basic stencil: RightTriangle, Decagon, Trapezoid, Star4Pointed, Star5Pointed, Star6Pointed, Star7Pointed, Star16Pointed, Star24Pointed, Star32Pointed, Donut, Plaque.
  • DefaultEncoding and AutoDetectEncoding properties added to PdfExporter.
  • New RoundAndSquare and RoundAndSquare2 handle styles can be set as the HandlesStyle of nodes.
  • SkipEmptyPages property added to PrintOptions.
  • Support for Visual Studio 2013
  • Fixed invisible inplace edit text-box problem under Windows 8 and .NET 4.5.
  • Fixed bug in undo/redo of RotationAngle assignments.

New in MindFusion.Diagramming for WPF 3.0.2 (Aug 19, 2013)

  • Import Visio 2003 XML drawings
  • AttachTo overloads that attach nodes to link segments or control points now allow specifying negative index values. Negative values are interpreted as relative to the last point or segment, regardless of the current number of link segments. For example, -2 denotes the second-to-last point or segment.
  • Improved handling of clip paths in PdfExporter.
  • The swimlane grid can be exported to Visio by setting the ExportLanes property of VisioExporter.
  • The Copy method lets you copy text attributes between objects implementing the ITextAttributes interface, such as diagram items, table cells and tree items.
  • Improved placement of link labels along shorter link segments.
  • The ArrangeLinkLabels method rearranges link labels whose AutoArrange flag is set.

New in MindFusion.Diagramming for WPF 3.0.1 (May 14, 2013)

  • Selection improvements:
  • Set Behavior to SelectOnly to let users select existing items, but not modify them or draw new ones.
  • The SetsDirtyFlag property of the Selection class specifies whether the Dirty flag should be set when selection changes.
  • SelectionStartMoving event raised when the user begins moving multiple selected items.
  • The ToggleSelection modifier key can be used to select or deselect items by clicking, but disables selection via lasso rectangle.
  • Miscellaneous:
  • The AllowAddChildren and AllowRemoveChildren properties of ContainerNode specify whether users are allowed to add or remove child nodes to / from the container.
  • The GetNearestBorderPoint method of DiagramNode can be used to find a point from the node's border closest to a specified point.
  • The ScrollZoneSize property of Diagram can be used to specify the size of the area near the control edges that starts auto-scrolling.
  • The last row in a TableNode will now be rendered clipped if it fits only partially inside the node, whereas in previous versions the row would not be rendered at all.
  • The HandlesStyle of a link can now be set to Invisible to stop rendering its selection handles, but still allow dragging control points.
  • The Tag property of DiagramDocument (inherited from FrameworkElement) is now automatically saved in XML files if it's a simple value, and SerializeTag is raised to let you save complex objects.
  • Fixed bugs:
  • Ruler alignment guides did not set the Dirty flag.
  • Images exported by CreateImage excluded items at negative coordinates.
  • ZTop and ZBottom methods did not work correctly with layers.

New in MindFusion.Diagramming for WPF 2.8.2 (May 24, 2012)

  • Rotation improvements:
  • Attached nodes can rotate together with their master node if the group's FollowMasterRotation property is set to RotateChildren.
  • The Text of a ShapeNode can be rotated independently from the node by setting the TextRotationAngle property.
  • Fixed a bug where links did not follow the rotation of their target TreeViewNode.
  • The scroll buttons shown in the caption bar of a TableNode can now be used when the table is rotated.
  • Miscellaneous:
  • The SaveToXml method now saves the definition of a custom Shape if a node's Shape has not any Id specified.
  • If NegatedY is set, the vertical Ruler scale displays negated Y coordinates.
  • The Ruler control scales now start from the origin of the diagram's Bounds instead of (0,0).
  • Fixed a bug where GroupAnchorStyles attachments did not preserve the correct distance for some values.
  • The TextBox control used for in-place editing now wraps text to multiple lines by default.
  • The Diagram control can be automatically added to the Visual Studio toolbox by the installer.

New in MindFusion.Diagramming for WPF 2.8 (Feb 11, 2012)

  • VirtualizingDiagram implements diagram items' virtualization
  • Id property added to DiagramItem
  • FindLinkById and FindNodeById methods
  • lane headers can be anchored to the top-left of the viewport
  • improved path-finding for long links in QuickRouter

New in MindFusion.Diagramming for WPF 2.7 (Sep 16, 2011)

  • interactive node alignment via alignment guides
  • FractalLayout tree layout algorithm
  • specify start and end nodes for LayeredLayout
  • draw with the right or middle mouse buttons
  • improved self-loop links for tables and tree views
  • Visual Basic .NET tutorials added

New in MindFusion.Diagramming for WPF 2.6 (Jun 20, 2011)

  • CompositeLayout multi-level graph layout algorithm;
  • improved alignment in FlowchartLayout branches;
  • OrthogonalLayout improved to create less link bends;
  • CircularLayout can dynamically select appropriate radius;
  • support for resizing multiple nodes simultaneously.

New in MindFusion.Diagramming for WPF 2.5.2 (May 19, 2011)

  • Dynamic node shapes:
  • Shape instances can be defined using custom code that takes into consideration the current width and height of nodes. This allows creating shapes whose primitive elements change non-uniformly, e.g. by growing only in width or height when a node is resized. There are two ways to create such shapes. The first one is to use the Shape constructor that takes a CreatePathDelegate parameter, which can be implemented using a .NET function. Another Shape constructor takes a string argument that represents a Visio-like shape formula evaluated in run-time. The latter method enables serializing the shape code in external files, which can be reused by different applications and by MindFusion components for other platforms.
  • SpringLayout improvements:
  • ~ Better handling of large nodes and nodes with non-uniform size.
  • ~ The SpringLayout energy model has been changed to one that leads to better symmetry in the arranged graphs. The old model can still be used by setting LayoutMethod to Classic. This is recommended when using rounded links.
  • ~ The Randomize property allows starting the layout process from random node positions.
  • Miscellaneous:
  • ~ Call SetZoomFactor to zoom the diagram with the specified zoom center point.
  • ~ The DrawAdjustmentHandles method can be used when custom-drawing to render adjustment handles with their standard look and feel.
  • ~ Set the StableSort property to get consistent results between different runs of LayeredLayout.
  • ~ If hosted controls implement ICloneable, DiagramNodeAdapter uses the Clone method to copy them instead of serialization through XamlWriter and XamlReader.

New in MindFusion.Diagramming for WPF 2.5.1 (May 19, 2011)

  • Export diagrams to Visio XML Drawing format;
  • Links snap to nearest node;
  • control length of U-bends in QuickRouter;
  • InchDivisions property added to Ruler;

New in MindFusion.Diagramming for WPF 2.5 (Nov 20, 2010)

  • Swimlane diagram layout;
  • CascadeLayout algorithm;
  • TriangularLayout algorithm;
  • HierarchicalLayout algorithm;
  • OrtogonalLayout improvements;
  • Swimlane grid extensions.

New in MindFusion.Diagramming for WPF 2.4 (Jul 8, 2010)

  • templatable nodes;
  • export diagrams to WMF images;

New in MindFusion.Diagramming for WPF 2.3.3 (Jun 15, 2010)

  • export diagrams to SVG;
  • custom DiagramNodeAdapter serialization;
  • frozen nodes in SpringLayout;

New in MindFusion.Diagramming for WPF 2.3.2 (May 28, 2010)

  • support for Visual Studio 2010 and .NET 4
  • appearance of diagram items can be set using the WPF styling system
  • ContainerNode.UpdateBounds overload includes links in the node boundaries
  • a ZoomToRect overload can center the rectangle in the current viewport
  • DiagramNodeAdapter.MouseInputMode sets which control handles mouse input
  • fixed support for browser applications in the Internet zone

New in MindFusion.Diagramming for WPF 2.3.1 (May 28, 2010)

  • new text formatting properties;
  • improved auto-scrolling in the Overview control;
  • GetNearestNode method;
  • text clipping can be disabled

New in MindFusion.Diagramming for WPF 2.3 (Jan 13, 2010)

  • Support for custom arrowheads;
  • Adjustment handles styling;
  • Granularity property added to QuickRouter;
  • IntermediateShape arrowheads displayed for Bezier links;

New in MindFusion.Diagramming for WPF 2.2.1 (Sep 24, 2009)

  • graph relationship queries;
  • LayeredLayout can straighten links crossing multiple layers;
  • visual effects during item modification;

New in MindFusion.Diagramming for WPF 2.1.1 (Feb 13, 2009)

  • DiagramView lets you display multiple views of a Diagram;
  • Create organizational charts as in MS Office;
  • TreeLayout can arrange full binary trees in a grid;

New in MindFusion.Diagramming for WPF 2.1 (Jan 21, 2009)

  • OrthogonalLayout graph layout algorithm;
  • CircularLayout graph layout algorithm; support for resizable background lanes and grids;

New in MindFusion.Diagramming for WPF 2.0 (Sep 16, 2008)

  • Container nodes;
  • Ruler control; NodeListView control;
  • Export diagrams to PDF;