What is it?
The diagramming starter kit (DSK) is a collection of Visual Studio projects (WPF projects) which highlights various mechanisms and patterns related to diagramming in WPF. If includes
- the Unfold project which was released earlier as lightweight diagramming library with state-of-the-art UI (boasting one of the first WPF implementations of the Office 2007 ribbon)
- a simple MVC implementation examplifying the decoupling of the model and the WPF presentation
- the Ignite application which contains a wealth of patterns (undo-redo, tooling, MVC and more) as well as a WPF implementation of the tree-layout, the mindmapping layout, Bezier connections and more
- the iFold application, a modified version of the famous Family.Show (see the screenshots)
Screenshots
Features
Unfold features
- Full undo/redo, all interface actions plug into the undo mechanism.
- Templated XAML shapes; you can customize all shapes by inheriting from the default XAML style or define your own by binding to the code-behind via the command model of WPF and routed events.
- Draw shapes and connections by means of the mouse on the canvas (i.e. the so-called rubberband interaction)
- Resizing adorner, which can easily be customized.
- Connections are just like shapes defined in XAML templates and can easily be changed by inheriting or by defining your own classes
- Text properties can be customized (italic, bold, underline, font style, font weight, etc.)
- 100% managed C# code
- Shapes and connections are defined in a shape library
- well-documented code, clean programming
- Much code and diverse XAML techniques that will be of interest to anyone wishing to build a graphical application on top of WPF
- Office 2007 ribbon and look-and-feel
- Includes code to apply diverse WPF animations and effects on diagram elements (fading, explode, fade in/out…)
- Class shape with data-binding, includes code to reflect the class members of any class in the class shape
iFold features
- modified Family.Show application for display of ‘thoughts’ rather than genealogical information
- straightforward to modify and to adapt to your needs
- pleasing design
- great fun to use
Ignite features
- Tree and Mindmapping layout algorithm implemented as a custom panel
- undo-redo
- UI tools and services
- standard diagramming with templating
- custom connections (straight, Bezier, curved)
- view-presenter architecture
Simple MVC
- custom serialization
- model-view-controller architecture
- easy to understand
Intended audience
While this collection of WPF projects is in fact a complete covering of what one needs to create whatever diagramming control, it’s not an integrated library like Graph² or Netron. The collection is a compilation of prototypes which eventually lead to Graph² and cleaned the stage for the highly abstract and felxible architecture that Graph² represents. However, it should enable any developer with a moderate knowledge of WPF and C# to create a custom diagramming solution and it has been compiled specifically for students, academics and those for which the Graph² price is too high.









