I have been engineering software for about 4 years now. For the most part I have used Windows Forms and ASP.NET (the latter being my focus hitherto).
Presently, I have a little sideline project, that may or may not be remunerative. This ‘sideline’ will be a smart client. The principal requirements for this project are two fold.
- A Microsoft Outlook type interface, with a grid control that has grouping.
- A grid control that is similar to uTorrent, Free Download Manager or FlashGet. This grid will have an array or progress bars.
Because this project, which I’ll code name “Chronicle” is not commissioned, its is best met with free tools. At present it is in three incarnations.
- Using free components from http://www.componentfactory.com/. I have used just the free toolkit from here
- Using the exceptionally good components from Devexpress
- Using Windows Presentation Foundation
So far the need for the project to be free has ruled out Devexpress components because they are
- Very expensive
- Add additional layers of complexity to the project. Just try to get you head around the Xtragrid, their version of the data grid view. This is not a pleasant experience, and comes at the expense of a few months to master.
The two left, are the Windows forms application with Krypton, or WPF.
I was asked this question in for forum a while ago;
What drives change in your organisation? Technology or Business requirement?
I have since struggled to answer it. Business requirement tells me that winforms is the way to go, but WPF makes things so much easier. Trying to embed controls like progress bars into data grid views requires some tricky code.
To get a faithful Outlook UI in winforms, there is the Joe Stegman sample titled Building Outlook UI in 100 lines of code with Winforms (link to the video on channel 9).
This is probably the canonical example for doing this type of thing in winforms. Only problem is that there is no grouping in the datagrid, that has been heavily modified. In WPF you just set a few properties to a Listview control.
To get a faithful Outlook UI in WPF, there is this example. Both examples lack the WOW and exact finish that Devexpress or Infragistics components have. But they teach you the principles, you can iron out your business logic, then either be creative or purchase presentation layer components.
In WPF you can add any control into any control, a huge obstacle to my project in windows forms.
In WPF to enable spell checking you do this;
<TextBox SpellCheck.IsEnabled=”True” />
I put this question to some of the finest minds around here.