Project Description
This is a functioning photo browser written in C# for a WPF platform implementing the Model View View-Model (MVVM) design pattern and Prism
main.jpg

A screen shot of the application running is shown above. Panning and zooming are enabled using the mouse wheel and buttons respectively, but the implementations are abstracted away from the View-Model such that the View-Model deals only with 'Plain Ordinary CLR Objects'. An screen shot showing a zoomed image is shown below

zoom.jpg


The application uses a custom control that does a lap dissolve from one image to the next using a Storyboard where the transition time is set from within the View-Model. The lap dissolve is initiated by pressing any of the navigation buttons as shown in the image below.

mvvm.jpg

Images are automatically resized to fit the window. The screen shot below shows how the image adjusts to fit in the window ('Uniform Stretch).

sizing.jpg

A target directory containing the user's images can be selected using a customized, MVVM compliant, Non-Winforms control. The control itself formed the basis for an earlier CodePlex project located here https://tyburnwpfdbc.codeplex.com/ An screen shot showing the control in action is below...

Browser.jpg

Additionally, the application incorporates another custom control to present Tool Tips. The image below shows a Tool Tip being raised which gives detailed information for the current image...

tooltip.jpg

One of my favourite features allows the user to categorize images into subdirectories dynamically. A double click on the category will move the image file into the selected folder. The user can add or delete categories on the fly without having to open Explorer in the target directory, and the application uses Reactive Extensions (RX) as a layer of abstraction between the View-Model and the File System Watcher. In the screen shot below, the category List Box has been made visible (via the Options dialog)...

categories.jpg

The Options dialog is raised using the code provided in the Prism Stock Trader Reference Implementation (which can be found here: http://msdn.microsoft.com/en-us/library/ff921074(v=pandp.40).aspx. This code was imported intact and then modified so that dialogs can have an icon and relevant title bar; See the image below...

options.jpg

Messages and information can be conveyed to the user by customized message boxes and samples are shown below...

about.jpg
alert.jpg

Last edited Jun 15, 2013 at 11:30 PM by TyburnConsultancy, version 8