Welcome back to my mini-series highlighting some of the past TechNet Guru winners in Windows Development.
Last month we looked at May-July. This month, I'll look at August and September.
I'll highlight the Gold winners in subjects I am qualified to comment on, with a little bit of love, or general developer chat thrown in.
|Visual Basic Guru – August 2013|
|Reed Kimble||How to Get the Textual Representation of a Number (Convert Number to Words) in VB.Net||Peter Laker: "Superb article. Well presented and detailed."
SB: "nice code example of a real world problem"
Ed Price: "Great formatting, explanations, and code snippets!"
Richard Mueller: "Very good ideas and well explained. This can be useful."
Anthony D. Green: "This would make a great programming exercise for students."
This is a great primer for converting numbers to words, in this case by simply using an Enum.
And we're not talking about turning your calculator upside down to make rude words!
Reed has an excellent profile on MSDN and TechNet, consistently producing quality articles like this.
|Visual C# Guru – August 2013|
|Isham Mohamed||Avoid “File system redirection” in Visual Studio 2012||Christian Lukito: "Good article to explain Windows 8.1 behaviour"
CW: "This article calls out a problem you may encounter in C# and shell execution of things from the system directories. I thought it is well done and should help to unblock individuals."
Ed Price: "Great explanation to a common issue!"
Windows 8 has in my view been a great success. Microsoft may have been a little slow to get into the tablet market, but now they're here, Windows 8 beats the other platforms in every way.
It was a fast and simple experience "skilling up" for W8 Metro, which I would describe as was a "nice hop" somewhere between WPF and Silverlight.
This article from Isham nicely describes a gotcha you may encounter, as your knowledge and demands grow.
|Windows Phone Guru – August 2013|
|Chilberto||Azure Mobile Services Custom API – Exploring Server Side Capability||JS: "only 1"
Ed Price: "Really important topic with great code snippets and solid explanations!"
This is a great article from Chilberto server side capability of Azure Mobile Services – the ultimate solution for mobiles and Windows 8.
As noted in the article, a great launch page into the wonderful world of Mobile services is here.
|Windows Store App Guru – August 2013|
|Sachin S||Custom styling the alternate rows inside ListView/GridView||Ed Price: "Good topic and breakdown. It could benefit from more explanations and a breakdown of sections with a TOC. Thanks for the contribution!"|
Here we go into the XAML side of life, and an excellent example of what we can do with one of the most powerful features of XAML based products – ItemTemplates
In this case, SachinS is using a StyleSelector to decide the style to be used per row.
Styling and Templates are shown in downloadable detail in these XAML related projects, that I've posted on MSDN over the years:
- WPF Styles and Control Templates – Made in code
- Overriding SystemColors in WPF
- Changing a WPF Button Background
- RibbonRadioButton as RadioButton Style
- WPF Themes – Using and tweaking
- Watermarked TextBox and PasswordBox
|WPF Guru – August 2013|
|Magnus (MM8)||Validating data in WPF 4.5 using the INotifyErrorDataError interface||Peter Laker: "Excellent overview of validation"
Ed Price: "Important topic and great delivery and formatting!"
Well this is a subject close to my heart. I have made various versions of validation, for different clients.
Over the years I developed various versions, my favourite being a mix if IDataError and an attributes based validation rule solution.
When you first delve into WPF, you may feel that MS missed a trick not implementing a standardised way to do validation.
However, it soon becomes apparent how flexible WPF is, by offering several ways to validate. Also, how refreshing it is to be able to collate, manage and display errors however you like.
|Visual Basic Guru – September 2013|
|John Anthony Oliver||Code for 2008 and 2010 versions of vb.net. Have you ever wanted an oval, triangle, a pentagon, a hexagon or an octagon for a control or a form?||Richard Mueller: "A very interesting and creative article with lots of example code."
MR: "Helpful article! "
Ed Price: "Good solution with a lot of detail! Would be even better formatted into sections, since it's so long. Some good interactions in the comments, too!"
SB: "The article has a narrative and shows doing something which I know people want to achieve. The code shows revisions and is VB code. "
This is the point I'd be jumping into WPF to be honest, however John has given a great run through of the VB way.
I look at all that WinForm code and I long for XAML. Separating the UI from the code logic also lets you have two people work on the page, equals faster development.
WPF is another leap of learning, so if you come from a WinForm background, it is great to have this contribution from John.
|Visual C# Guru – September 2013|
|Jaliya Udagedara||IEnumerable<T> Vs. IQueryable<T>||Ed Price: "As Naomi wrote in the comments, "I like your articles and your style – easy to follow." I agree, it has great formatting, and it is very clear. Special thanks to Pituach for helping format it and for giving Jaliya some good advice!"
CW: "The most important difference is in the query building. Unfortunately this was at the end. Article still quite useful."
IQueryable is of course an essential part on Linq. This article from Jaliya has a good go of explaining how it fits in.
|Windows Phone Guru – September 2013|
|mcosmin||How to play flac files in windows phone using C#||JS "Long but good"
Ed Price: "Long article; very in depth!"
Peter Laker: "Wow yummy, very nice, thanks mcosmin"
This is an excellent article about the versatile MediaStreamSource. This wonderful piece of runtime allows you to get right under the hood and fiddle with the media stream.
This means you can write your own decoders and essentially make your own player for media that has not yet been integrated into Silverlight's MediaPlayer.
Thank you mcosmin for choosing a great subject to share on TechNet wiki!
|Windows Store App Guru – September 2013|
|Thomas Claudius Huber||What's new for the Appbar in Windows 8.1||RC: "The comments on differences between the XAML implementation and the C# implementation are useful. How about C++ and VB syntax as well? The title and tags should also clarify that this is a XAML-specific article."
Ed Price: "Good breakdown of the sections, great formatting of the code and images. Great article! As RC mentioned, this should include more info about XAML. "
This just shows how great this competition is. It gives our coding experts a platform as good as a blog, to post about new developments.
We learn a lot at TechNet, as we read these all when they arrive. This was a deserved win for Thomas.
|WPF Guru – September 2013|
|Magnus (MM8)||WPF: Exporting Data from a DataGrid Control||Ed Price: "Fantastic formatting and great descriptions!"
Peter Laker: "Wow, awesomely detailed, nice work Magnus!"
This was an interesting article from Magnus. In my view, and data bound to a DataGrid should be exported from the source data, not from the DataGrid itself.
If bound two-way correctly, then anything in the DataGrid can be pulled from the bound source. Traversing controls for data is a WinForm thing, thankfully completely avoidable in XAML based applications.
When you get a couple of major projects under your belt completely in MVVM, you realise there is no reason to touch controls themselves.
The only exception may be as Magnus highlights, if you change the order of the data. A simple source collection would not also change.
However, this is when you turn to an ICollectionView which supports these operations. You then perform the operations on the collection view, and refer to it for exporting in the desired order.
While I'm at it, for the DataGrid fans amongst you, here are some MSDN Gallery samples of mine that you may like to download and play with:
- Editing live updated cells of a DataGrid
- Excel Spredsheet Processing
- Changing DataGrid RowHeader Properties and/or Template When a Cell is Selected
- DataGrid Lost Focus
- WPF Master/Detail (edit form for selected DataGrid item)
- DataTable DataGrid Updates (from background thread)
- DataTable Master/Detail with DataGrid
- Static Bridge: Avoid Binding Error – removing a DataGrid Row with RelativeSource
Well, another great bunch of winners last August and September.
Next time I'll look back at October and November, when I'll also take another tally of medals.
Thank you for joining me on another look back at the Gurus that have gone before.