There’s an incredible amount of guides, tools and utilities to be found on the Internet (or should I say ‘tha cloud’?) for Windows Phone 7 developers. Compiled in this article are some of the tools I’ve come across on my searches which I now use frequently but didn’t know the existence of beforehand. Read on to change you WP7 development life.
- WP7Contrib: Consider this a colorful compilation of the best components and helper tools around. Some of the tools discussed in this article are also in the WP7Contrib project. Basically this project has compiled the best tools around in one single project (making articles of this kind rapidly redundant) with links to the original blogs that this the tool(s). Enumerating what’s in it is overkill, simple check out all the goodies (UI Controls, patterns, transitions, etc) on their codeplex page: http://wp7contrib.codeplex.com/
- GridHelper: This one was pointed out to me yesterday. This tool, available through Nuget, helps you with placing all your elements on the grid according to the Metro-guidelines (i.e. Margin of 12pt from the screenborder, etc.) . Read Jeff Wilcox’s original post to see what this is all about: http://www.jeff.wilcox.name/2011/10/metrogridhelper/
- LowProfileImageLoader: David Anson wrote several excellent classes, one of these being an extended Image Control which can be used when the imagesource is an image in ‘tha cloud’. The control will download the image without blocking the UI thread which tends to happen with these things. This control is ideal in other words if you have a large list of images to show on a page. I’ve used this control in my Belgian Cinema app making the startup of the application way more fluent. Make sure you also check out the DeferredLoadListBox control from the same author which improves the scrolling of long lists in your app. All information can be found on the ‘Delay’s Blog’.
- Placeholder images: David Anson recently also released a WPF/SL/WP7 control that easily incorporates placeholder images to be used for those images that might not be available or are slow to download. Like all of mr Anson’s control, this one again can be easily integrated in your existing application by simply changing the your Image-controls to PlaceImage controls with an additional PlaceHolderSource-attribute that points to the local image to be used as placeholder. A combination of the LowProfileImageLoader and this control would be awesome but with some plumbing (all the source code is available) this can be done yourself. More information on this control can be found here.
- Your Last About Dialog: An about box is not a real requirement to get approved on the marketplace, but it does help to have one. Implementing an about box is usually done in the last instance right before you are submitting your app for approval. Anxious to get your app on the marketplace, the about box is usually an ugly, empty page with some textboxes thrown on rapidly…at least in my case that is. Peter Kuhn heard our prayers and create a very simple to use, Nuget, about dialog template to be used in all your WP7 apps from hereon. Once you use the “Your Last About Dialog” you will never ever write your own about dialog; believe you me (still think there’s something grammatically wrong with that expression). More information to be discovered on Peter’s blog.
- Kawagoe Toolkit: Besides having the most funny toolkit name around, this sweet little thing has some interesting things in it. The toolkit consists of 3 handy little classes being: a Message popup with customizable buttons, an imagecache class (+ an inherited PersistentImageChache and SystemImageCache) ideal if your working with lots of image and lastly the toolkit includes a “OneShotDispatcherTimer” with is a DispatcherTimes that promised only to fire once, ever (check out the end of this article by Dan Clarke why such a timer can be handy to have around). More information on this toolkit can be found here)
- NotifyPropertyWeaver: Don’t you just love databinding?! I certainly do, though I sometimes get tired of the amount of boilerplate I each time need to write when implementing an INotifyPropertyChanged class. If you’ve only got two or three classes , that’s no big burden. On the other hand, if you have lots of classes, install the NotifyPropertyWeaver (Nuget available) which will simply write all the boring code for you…it’s like having a little monkey doing your work, hooray! Get your monkey here.
There we go. A little list of must-have tools. I know there’s lots of other stuff around, but these are the ones I personally use a lot (yeah, I use the Silverlight Toolkit as well, but it felt a bit redundant to mention this one again here). Enjoy!