Well I've been playing with WPF lately, and while I don't have it down 100%, I do have a working prototype (see the pretty image there). It's a great little thing, with what amounts to two panels (one for thumbnails, properties, etc and the other for the actual image) and my personal favorite of UI chioces: the Ribbon control.
I'm not sure why I like the ribbon so much, but I do like the paradigm behind it.
Anyways, the technologies hiding in this thing are as follows:
- Ribbon Menu Control
- WPF Layouts
- Scroll Viewers
- Zip Library
- WPF Image Control
- WPF Tab Control
And I'm not above admitting that it's taken me a bit to get it into this state of being able to work it. Sure, it only took a few hours to get the base system up and running, but it was ugly. The main window looked nice with its Ribbon component, but the Image Viewer popped up as a secondary window that lacked the Ribbon control.
It was in essence the very paradigm I was trying to escape from by moving the application to WPF.
Which meant that it was back to the research boards, and hunting for a way around the problem. Enter the Tab Control. I was able to override the style associated with the header of the tab, and make each of them have a label and a little "X" button.
Once that was in place, it was a simple matter of ripping out the ImageViewer as a WPF form and create the ImageViewer as a user control which can be added to a Tab Item. This is the paradigm that you get to see in the picture above.
Anyways, I've finally got all those little things sorted, and began doing communication, information exchange and UI changes from the various tab-based ImageViewers and the Thumbnail tab that hangs out on the left hand side of the application.
Next up the Resume Reading, Next & Previous Archives buttons.