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
- Write your own versions
- Buy in a third party library
- Use a freeware libary
- 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