Four years ago I wrote one of my first WPF applications. It was named 'BackUp' and enabled you to keep directories in sync (similiar to Microsoft's SyncToy). Actually I learned a lot of the WPF stack by creating this application, but since I did use code behind instead of the MVVM pattern, it was a good occasion for refactoring the code and applying a new UI.
In this post I will present the new Metro UI and describe my experience in using event-based components for the synchronization workflow.
The DocumentViewer is a great control for showing XPS documents in a WPF application. You can zoom and search the document, but the control does not provide a public API for its Find functionality. Microsoft is going to fix this in a future release, until then you can use the following workaround.
In the first part of this series I showed how to implement a data structure for graphs. Now let's continue with the UI. The UI should be capable of creating graphs consisting of nodes and edges with some mouse clicks. Moreover it should be easy to execute previously created graph algorithms and to show their animations.
A few years ago I had to create some animations of graph algorithms. That meant two things: I had to implement algorithms like Dijkstra or Kruskal and then create a visual representation of the algorithm, so one could see what happens step by step. The code was written in C++ using LEDA for the graphs data structure and AGD (now called OGDF) for visualization.
In this series I will describe how I implemented a tool for creating graph animations in .NET using WPF. This first part will discuss the underlying data structures. The second part will concentrate on the 3D stuff and the animations.