More than once, I’ve found myself wanting to be able to demonstrate the range of controls that are available for Silverlight and WPF and, today, I ended up in that same place and decided to do something about it.
I built a very, very simple WPF application. Screenshot is below and you can install the application via ClickOnce by clicking on the picture below (note you’ll need .NET Framework V3.5 Sp1 as I don’t install it for you here);
All it’s doing is displaying in a TreeView with a number of sections in it;
- WPF Built In Controls
- WPF Toolkit Controls
- WPF 3rd Party Controls
- Silverlight Built In Controls
and this is just driven by an XML configuration file that’s embedded into the application so if you happen to know of other sets of controls that should be included then let me know.
What’s really cool about this stuff these days is that control vendors tend to have either a;
- WPF XBAP
- Silverlight XAP
on their website showcasing their controls. So, in most cases all the application above is doing is using the WebBrowser control to load those things and display them. For the other cases, I just embedded a couple of XAML files into the application with some of the built-in WPF controls and the WPF Toolkit controls in place.
Because it uses the WebBrowser control;
- It’s not so much use offline although a couple of items should work and you might be able to trick it with browser caches etc.
- It requires Full-Trust. Clicking on the image above will ClickOnce-install the application but you’ll have to say “yes” to the full-trust aspect. You can trust me, I’m a Doctor 😉
It’s a pity that there’s not one of these on (say) http://www.windowsclient.net as I think it’d be a useful resource and possibly even more useful if I spent a few hours and broke down the categorisation into the types of controls that are available (e.g. Grids/Menus/Ribbons/etc. ) rather than breaking it down by vendor which is what I’ve done here.
Let me know if you have trouble with running it ( beyond the “I don’t run stuff in Full-Trust” issue which I fully understand 🙂 ).
Update – I saw the breadth of Tim’s post over here where he does a much better job than me of hunting down Silverlight controls and so I added a lot of those into the application as well.