We have released MindFusion.WPF Pack 2026.R1. It adds following new features and improvements:
MindFusion.DiagrammingImport / export improvements- Added the ExportBounds property to SvgExporter and PdfExporter, allowing you to define the area to export.
- SvgNode now honors all 'stroke-linecap' values.
- Added the PreserveWhitespace property to SvgExporter and SvgContent, enabling preservation of whitespace characters when importing or exporting SVG files.
- Improved text alignment precision in PDF.
- Zero stroke thickness is now preserved and written directly to SVG and PDF files. Note that PDF interprets it as cosmetic pen (one pixel wide regardless of unit and zoom).
- CreateImage no longer relies on a hidden window for image export.
- Embed font files in exported PDF documents by setting PdfExporter.EmbedFont predicate.
ItemListView controlItemListView supersedes NodeListView and lets you show both nodes and links in the list. Items can be added or removed using the Items property of base ListView. DefaultNodeSize property from NodeListView is called NewInstanceSize in the new class. The AutoConnectLinks and AutoConnectDistance properties control whether links created via drag-and-drop should connect to nearby nodes in the target diagram. For compatibility with legacy code, NodeListView won't be removed from the library, but it won't be getting any new improvements.
Palette controlThe Palette control represents a tool palette that displays DiagramItem objects grouped into categories. It implements Accordion user interface that displays ItemListView components as its child panels, and category icon, title and collapse/expand button in pane headers. Each child ItemListView displays the items added to its corresponding category. Call the AddCategory method to define a category and create its respective accordion pane. Call AddItem to add an item to specified category. The control can also be populated by setting ItemsSource to a list of PaletteCategory objects. Palette provides same behavior and appearance properties as the ItemListView class.
Tag serialization- Due to the removal of BinaryFormatter in .NET 9+, complex Tag and Id objects (class or struct instances) are now saved using System.Xml.Serialization.XmlSerializer when saving a diagram to XML. SerializeTag and DeserializeTag still allow you to implement custom serialization.
- Complex Tag and Id objects (class or struct instances) are now saved using System.Text.Json.JsonSerializer when saving a diagram to JSON. JsonSerializeTag and JsonDeserializeTag still allow you to implement custom serialization.
Miscellaneous- Fixed stale layout when a second DiagramView on inactive tab is bound to a shared Diagram.
- DiagramView raises ItemRealized and ItemVirtualized events when it creates or removes a presenter for a DiagramItem.
- Fixed rendering offset when a link's HandlesStyle is set to Custom.
API changes- Completing our transition to model-view design, VirtualizingDiagram cannot be used as a standalone control anymore and must be assigned to the Diagram property of DiagramView. Since most of virtualization is done by the view, the class has been renamed to DataBoundDiagram.
- Diagram can no longer be used as a standalone control, but must be set as DiagramView's model. All view state-related properties marked as obsolete since the v4 release have been removed.
- FishboneDiagram can no longer be used as a standalone control, but must be set as DiagramView's model.
- The DelKeyAction property has been moved from Diagram to DiagramView.
- The AutoHandlesItem and AutoAnchorsNode properties have been moved from Diagram to DiagramView.
- DraggedNode has been renamed to DraggedItem.
- XmlSerializer used to save Tag and Id objects could be a breaking change if the tag types are not serializable to XML out of the box. You can continue to serialize tags in binary format by setting the UseXmlSerializer property of XmlOptions to false (and adding the System.Runtime.Serialization.Formatters NuGet package to .NET 10 projects).
MindFusion.SchedulingClipboard supportNative clipboard support has been added to the Calendar control via new CopyToClipboard, CutToClipboard, and PasteFromClipboard methods. These operations utilize full XML serialization to preserve item states, durations, and relative time offsets. Developers can intercept and validate each item during the paste process using the new ItemPasting and ItemPasted events, providing flexible control over resource mapping and data integration.
Tag serialization- Complex Tag objects (class or struct instances) are now saved using System.Xml.Serialization.XmlSerializer when saving a schedule to XML. SerializeTag and DeserializeTag still allow you to implement custom serialization.
- Complex Tag objects (class or struct instances) are now saved using System.Text.Json.JsonSerializer when saving a schedule to JSON. JsonSerializeTag and JsonDeserializeTag still allow you to implement custom serialization. This is only available in .NET Core -based builds of the control.
Miscellaneous- Fixed position of ShowCurrentTime marker when using custom cell sizes.
- Fix for item visibility not updating after changing templates with Calendar displaying a shared Schedule.
- Fix for sub-header template not applying when using Calendar as part of a template.
MindFusion.SpreadsheetMINA and PROPER function fixes.
Installer for the latest version can be downloaded here, or from the
clients area on our site:
https://mindfusion.dev/WpfPackTrial.zipUpdated assemblies are also available as
MindFusion.Pack.Wpf NuGet package.
Enjoy!