views:

339

answers:

5

Hello, I am starting a WPF project, which will be fairly complicated in complexity and will make use of a lot of modern UIs, like outlook bar, grids, tabs, etc... I've looked around in the marketplace and there aren't too many control suites. Some of the available ones are either Beta or CTP. Others don't look too polished. Yet others are pretty nice looking.

At this point, today, should I buy or, bite the bullet and build my own? What are the experiences people are having with 1st generation control suites?

+2  A: 

In general, I program in C# so that I don't have to 'reinvent the wheel' every day. I'd recommend using of the shelf components whenever the features provided justify the price there asking for.

That being said… be careful, WPF has not been around long enough for the components to have matured yet.

chilltemp
+3  A: 

One of the best things about WPF (and XAML in general) is that it makes customizing the available controls a whole lot easier than it was back in WinForms days. Everything depends on the level of customization that you need. If you just have to tweak the look-and-feel of the standard controls, you can do that using a tool like Expression Blend and you don't need any third-party stuff. If you have a good designer on your team (or if you are one yourself), that shouldn't be a problem. And if what you need is some advanced functionality that isn't provided by the standard controls out-of-the box, I'd still recommend trying to customize the standard controls. It's really amazing to what extent you can change the appearance and behavior of a control in WPF by tweaking things like the ControlTemplate, DataTemplate, etc., and/or by subclassing. Besides - now that is just a personal opinion - depending on third-party custom controls generally sucks...

Boyan
+2  A: 

One of the questions I'm always asking myself is, "what are we in the business of making?". I ask this especially when I'm about to do something that's time-consuming vs buying a 3rd party solution.

Are you in the business of making 3rd party controls? Or does it make more financial sense to buy a package and save your precious time for other stuff?

Cameron MacFarland
+4  A: 

The thing to remember is that WPF is very different from WinForms, you can do amazing things buy just re-skining existing controls, when you are starting your first WPF big project you don't yet understand WPF and you don't know the possibilities and pitfalls of the system.

I suggest you start developing the project without those controls and add them later, that way when you get around to adding those controls you will have a better feel of what controls you need and what controls are a trivial customization of an existing control.

If you need anything that isn't trivial it's better to buy - but only if the component you buy is good, so evaluate carefully.

and read Joel's "In Defense of Not-Invented-Here Syndrome" at http://www.joelonsoftware.com/articles/fog0000000007.html

Nir
+1  A: 

I would say to take a look on what it is already in there. In my point of view I am pretty much covered with the available ones, and especially in .NET 4, where the DataGridView, Calendar, and DateTimePicker are included (finally).

But if you want also take a look in the components from a company named Infragistics. They are very powerful, but the documentation of them really sucks!

Dummy01