Applications Using WPF

A common question around technologies like WPF is;

“Who’s using this?”

and I picked up a really slick brochure the other day with some great references around customers using WPF across lots of different kinds of applications and so I thought I’d share here – bear in mind that this is just a handful of selected applications and ( as you might expect ) there’s a lot more WPF applications out there than we might be able to fit into a brochure 🙂

I snipped out all the images and dropped them into a DeepZoom project. The latest Deep Zoom Composer has a new SlideShow feature which makes this pretty easy to do so I just used that and then applied a slight hack to what was emitted from the tool to produce the player below for free;

 
Enjoy browsing the breadth of applications that people have built with WPF – the player is probably better if you set it to full screen as I’ve left it pretty small here but you can also view it here
 
Off-Topic – My Hack to DeepZoom Composer’s SlideShow Project…
 
If you take an interest in the SlideShow feature then you might be interested in my one little hack that I did to make this work. I wanted the player to automatically zoom to the first slide when it plays the content and it doesn’t do that by default. There’s no option for it.
 
However, if you take a look at what’s emitted from the DeepZoom Composer you’ll find that the application seems to be driven by a file called scene.xml and it looks like there’s a relatively flexible declarative system going on in there. In my particular case, I found a piece of “behaviour” that looked like it fired when the application loads up. The XML looked like;
  <c:EventTrigger EventName="InitComplete"
                  Source="AdViewer">
    <c:Assign Value="SlideShow_Main"
              Target="AdViewer"
              Property="CurrentSlideshow" />


  </c:EventTrigger>

and I wondered if I could hook my own little piece of activity onto the end of that InitComplete event and, after a little poking around in the object model, I worked it out to use this little piece of XML to set the initial slide when the player loads and added a second EventTrigger to try and make that happen;

  <c:EventTrigger EventName="InitComplete"
                  Source="AdViewer">

    <c:Assign Value="1.png"
              Target="AdImage"
              Property="CurrentItem" />
   

  </c:EventTrigger>

where 1.png is my first slide ( the front cover of the book ).