MindFusion Pack for WPF R2.2012 has been released. It adds the following new features:
Visual Studio 2012 supportMindFusion Pack for WPF now includes support for Visual Studio 2012. The installer can create VS2012 toolbox palette for the components, and can optionally install VS2012 sample projects. In addition, toolbox palettes are now created for all .NET target frameworks supported by the respective Visual Studio versions.
MindFusion.ChartingRadar and Polar chartsA brand new type of charts has been added - the radar chart control. It supports:
- unlimited number of data series
- 4 types of labels at the inner axis and outer axes
- label borders
- customizable sweep angle and sweep direction
- spiderweb
- labels for each data series
- scatters
- custom labels
Hit testingMindFusion.Charting for WPF supports hit testing. Use the HitTest method, which returns a list of ChartElement objects that contain the specified point. Each chart element has properties that help you identify the data that it represents:
- PiePiece.PieceIndex and PiePiece.PieceValue get the index of the data this piece represents in the Data for the PieSeries as well its value.
- Bar.BarIndex and Bar.SeriesIndex get the index of the bar in the series and the index of the series in the Series collection. The Value property gets the value for the bar.
- Line.SeriesIndex gives you the index of the Line in the Series collection. DataPoints gives you the data for this Line as provided by the user.
Visual effectsEach chart supports the System.Windows.Media.Effects.DropShadowEffect and System.Windows.Media.Effects.Blur effect. Use the Effect property to specify the chosen effect.
MindFusion.DiagrammingNode effectsTwo visual effects, represented by GlassEffect and AeroEffect classes, can be applied to nodes. To apply an effect, create an instance of the respective class, set up its properties, then add the instance to the Effects collection of a node (or to Diagram.NodeEffects collection to apply it to all nodes). Effects can be added, removed or modified at any time and this will immediately reflect on the diagram. Effects of different types can be applied simultaneously. It is also possible to apply more than one effect of the same type.
Improved styling supportThe Brush, Stroke* and Font* dependency properties no longer contain initial local values and will inherit style values without having to clear the local values first. The diagram now exposes a style property for each built-in node type, which allows creating global styles for nodes directly in the diagram's markup code in the Xaml page. The properties are called ShapeNodeStyle, TableNodeStyle, etc. and are of the WPF's standard Style type.
Themes and Theme EditorA theme in WpfDiagram is a set of styles, each associated with specific item type. When the theme is applied to a diagram, the styles registered in the theme affect all objects of their associated type. Themes are represented by the Theme class and can be assigned to Diagram objects through their Theme property. Styles are associated with item types within the theme through the RegisterStyle method. The package now includes a Theme Editor tool that provides simple visual environment for theme creation and modification. There are also several predefined themes available in the Themes subfolder of the installation root folder. For more information about this new feature, check Styles and Themes.
Diagram documents and tabbed viewsThe DiagramDocument class represents a collection of diagram pages or sheets, represented by DiagramPage objects. DiagramPage is derived from Diagram and only adds a Title property, so any current code that processes Diagram objects will work with DiagramPage objects too. New pages can be added to the document and existing pages can be removed and reordered via the Pages collection. The diagram document provides higher level of events for the pages contained inside it. The document supports the notion of an active page.
The new TabbedDiagramView can be used to display DiagramDocument objects. The view displays tabs for the individual pages in the document. The active page can be changed interactively by activating its associated tab. New pages can be added and removed to/from the document through buttons in the tab tray and the pages can be rearranged by dragging their associated tabs with the mouse.
One-way graph LayoutThe OneWayLayout class ensures that links enter into nodes from the same general direction and exit them from the opposite side. If the graph contains cycles, some links bend around the nodes to keep the enter/exit direction consistent. The algorithm aims to minimize the number of such links.
Multiple labels per linkThe LinkLabel class allows multiple captions to be displayed for a single DiagramLink object. Link labels provide a set of properties allowing full customization of their display and positioning. Labels can also be arranged automatically to avoid overlapping nodes and other labels by setting LinkLabel.AutoArrange to true.
LayersItems can now be assigned to layers, and layers can be hidden, locked or moved up/down in the Z order as a group. Set the LayerIndex property of items to associate them with layers in the Diagram.Layers collection. The Layer objects provide Visible, Locked and ZIndex properties, which will affect all items in the respective layer. Layers also expose a Title property shown in the LayerListView control. Newly drawn items are added to the layer specified via Diagram.ActiveLayer. For additional information about layers, refer to Layers.
Layer list controlThe LayerListView control provides user interface for working with Layer objects. The control displays a list of all layers in a specified Diagram with a title and an overview area, and also allows editing of layer's Title, Visible and Locked properties and choosing the Diagram's currently active layer. New layers can be added to the Diagram by clicking the '+' button. The selected layer can be deleted by clicking the '-' button.
Parallel layoutsThe .NET 4 version of MindFusion.Diagramming for WPF takes advantage of the Task Parallel Library (TPL) to enable parallelism on the different layout algorithms. Set the EnableParallelism property on the Layout class to true to enable arranging different subgraphs on different threads to possibly improve performance on multiprocessor systems. In addition, the maximum degree of concurrency can be manipulated through the MaxDegreeOfParallelism property. Note that only independent subgraphs are processed in parallel, so the SplitGraph property of layout classes that provide it must also be set.
MagnifierThe new magnifier tool allows users to interactively zoom in (or out) portions of the diagram by holding down a modifier key or pressing a mouse button. The magnifier's zoom factor and appearance can be customized. Additional information can be found in the corresponding section of Scrolling and Zooming.
Miscellaneous- the value of DiagramItem.ZIndex property is no longer required to be unique and smaller than the number of items;
- the Shape property in ContainerNode and TreeViewNode can be set to Rectangle or RoundedRectangle;
- diagram item collection types now implement the generic IList<> interface;
- PdfExporter now creates PDF Bezier objects for Bezier curves in the diagram instead of approximating them with lines;
- the DrawBackground event is raised to let you render custom graphics in the diagram background;
- VisioExporter.DynamicsOff can be used to disable dynamic link routing in Visio 2010 in order to preserve the position of control points from the exported diagram;
API changes- LinkStyle enum renamed to LinkShape;
- DiagramLink.Style property renamed to Shape;
- TableStyle enum renamed to SimpleShape;
- TableNode.Style property renamed to Shape;
- ZLevelUp, ZLevelDown, ZTop and ZBottom methods now require a boolean argument specifying whether items are allowed to change layers;
- ZIndex no longer corresponds to the position of items within Diagram.Items collection. Items however still contains the items sorted by Z order, as defined by item's ZIndex and LayerIndex;
- Event handler delegates have been removed; events are now defined as generic EventHandler specialized via EventArgs type. For example the type of NodeCreated is now EventHandler<NodeEventArgs>;
Registered customers with an active upgrade subscription can download the licensed version from the
clients area on our site.
A trial version is available for download here:
https://www.mindfusion.eu/WpfPackTrial.zipEnjoy!