views:

62

answers:

2

During my days doing Winforms development, I constantly found myself struggling against System.Windows.Forms controls. Then I used DevExpress WinForms controls and I would never even think about going back to the default controls.

With my very introductory (think "Hello, world") understanding of the new WPF way of doing things (screen layout as markup instead of c# imperatives, the content attribute, Expression Blend expressly for UX development) I was wondering...

  • Are third-party controls as good of a value for WPF as they are for WinForms, or does the architecture of WPF make it easier to develop your own decent-looking controls?

  • For those of you who have worked on a decent-sized (at least 20 screens) data input application, if you were starting a project tomorrow, would you use third party controls?

  • If it depends, what factors (besides cost) would influence your decision?

+1  A: 

I'm an Xceed Datagrid user from back in the day when they offered a free Express version. That was the reason that lead me into trying their solution and not rolling my own from scratch. It turns out it was a choice like any other choice, with its' good aspects and its' bad aspects. The good aspects are obvious: less work for me, and a really nice and feature-rich control in my toolbox, a control that I (ab)-used in numerous interesting ways. The downside is that when they went along and discontinued the free version, I was in the position to either pay for an upgrade or stick with what I have. The price they charge for it now is quite reasonable, but it's easy to imagine that this is not always the case with third party tools' vendors, so I'd be cautious. It's sometimes better to build your own tool, knowing that upgrading it is in your reach at any time. When it's somebody else's... its up to them how they decide to implement and charge for upgrades.

luvieere
FYI, the price isn't as much an issue. Basically, if third party controls are worth using, they're worth tens of thousands of dollars (give or take) of development time for any decent-sized product.
Josh Kodroff
+1  A: 
  1. The architecture makes it easier to develop your own decent-looking controls
  2. Yes, I would use third party controls (I am doing this right now)
  3. The main factor is the set of controls you're considering, and how you plan to use them.

The main issue I've found with third party controls for WPF is that they aren't quite as mature, for the most part, as the Windows Forms equivelencies. You can do more in WPF yourself, so I don't know if the bar is quite as high as with Windows Forms. However, there is a point where having a very clean UI, very quickly is worth the extra cost of the third party controls.

That being said, be careful about which controls you use. Many of the third party controls, even some that demo very well, are not really WPF-oriented at their core. Many of them were ports of Windows Forms-based product lines, and can be difficult to work with cleanly in WPF-oriented design patterns (such as MVVM).

To see a simple example of this, take a look at the source code for Syncfusion's WPF samples, and compare them to Telerik's. If you have any experience with WPF, you'll quickly see a huge difference...

Reed Copsey