WPF Reflections

Nov 22 2007   12:01PM GMT

Missing controls

Mark Shurmer Profile: MarkWPF

I believe there are a number of missing controls from WPF as of November 2007, despite the RTM of Visual Studio 2008, by comparison with Windows Forms v2.

  • NumericUpDown (aka Spinner) – is a serious omission as it’s not simple to replicate
  • DomainUpDown – is also a serious omission
  • MaskedTextBox – can be replicated relatively easily using the KeyDown event, but it is a bit of a
  • LinkLabel – can be easily replicated by using a hyperlink inside a TextBlock
  • DateTimePicker – another serious omission, as it is a serious undertaking to write
  • MonthCalendar – again, a lengthy process to provide a replacement
  • CheckedListBox – this can be replicated by using a custom item template

How do you get around these problems, well you have a number of options

  1. Write your own versions
  2. Buy in a third party library
  3. Use a freeware libary
  4. Wait for Microsoft to implement

 Of these, option 4 looks like it will be a long wait (but why? why?) as can be seen by how long it took them to provide proper menus and toolbars in winforms.
Option 3 has some appeal, especially since one of the WPF main people Kevin Moore has provided just such an item with NumericUpDown, DateTimePicker and MonthCalendar – but as with all freeware they have problems. To be fair, he provides them as is and as building blocks only.
Option 2 is expensive obviously, and most places I’ve worked are opposed on many grounds (cost, maintenance, red tape)
That leaves option 1, which isn’t what I thought WPF was going to be about

1  Comment on this Post

There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when other members comment.
  • Odi
    >Option 2 is expensive obviously, and most places I’ve worked are opposed on many grounds (cost, maintenance, red tape) Compared to Option 3 and 4, Option 2 (Buy in a third party library) is by far the lowest possible maintenance and red tape option possible. If you license components from a quality vendor, the initial cost gets you a lot more quality, features and support than you could possibly get from any "problematic" (your own words), or half-supported freeware or by building it yourself. I work for Xceed. Almost a year ago, when we released the initial Xceed DataGrid for WPF v1.0, I calculated 11000 person-hours were expended on designing, developing and testing that one single product. It also includes two of the controls you mention above: the DateTimePicker and MonthCalendar controls. There's no way a freeware offering, or even most companies' development teams can even close to the quality level, design, features and fixing issues we put into it. Not to mention about 10 months later, at v1.3, with a larger team, there's probably about 20000 hours invested on this product. It will be hard to come close to it unless you (or the freeware competition) are totally dedicated. We started with WPF very early and our entire company focuses on just building reusable components, so we are totally dedicated. Option 4 and Option 3 just don't make sense. Are you saying there's less red tape or maintenance involved with those two options? How could building your own component and have to maintain it yourself yield less maintenance than having another company do it for you for a a few hundred bucks a year? How could using half-supported freeware libraries yield lower maintenance? And red tape? Building your own contains more hidden red tape all over the place (the red tape involving design, development, testing) instead of just the red tape associated with shelling out some cash and some learning and adapting to a pre-built solution. As for Option 1, it also has a lot of pitfalls compared to Option 2 (Buy in a third party library) because Microsoft doesn't update the product often, leaves many important features up to you to figure out how to do, forces you to rewrite code when you update (remember DataGridView in .NET 2.0, complete 180-degree change from .NET 1.1's DataGrid?), technical support is extremely expensive unless you go through the forums which don't guarantee any answers... Microsoft themselves use Xceed's grids in important projects (like Office Accounting Professional). In WPF, when a Microsoft finally does release one, it will be maybe 1.5 years later than our initial version, have only basic features, and be unproven / with no track record. Why wait? And even when it does arrive, why bother? Did I mention that 90% of Xceed DataGrid for WPF v1.3's features (all the important ones, and certainly more than Microsoft will offer) are licensed for free? So even cost is not an issue. Once you register (with your name and email), you won't have to buy updates or anything. BTW, the next version will include more of the controls you mentioned above that are missing, in the paid version.
    0 pointsBadges:

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

Share this item with your network: