I have been involved in a handful of Silverlight projects where we ended up reinventing buttons, sliders, etc. I have been telling myself I would eventually merge these controls and last week I finally started; I chose to do it from scratch taking the ‘lessons learned’ from each project so that along the way I would create a reference for others..
You can see an early sample showing the controls here.
It includes button, label, hyperlink, checkbox, togglebutton, repeatbutton, slider, radio, checkbox, stackpanel. dockpanel, expander, scrollbars, scrollviewer and a few other primitives needed..
You can also see a long ramblign of the design and implementations decisions here.
If you have done some thing similar or are thinking about it, please do send me your feedback. I created a new codeplex project where i am going to try to clean up the current prototype and package into a reusable library. Of course if you want to join the codeplex project there is lots of room to contribute ..
Again, the library still needs a lot of clean-up, bug fixes, packaging, etc. expect I will be working on it a few hours a day all of next week.
Look for updates here and via codeplex (where the source is).
I leveraged lessons learned from my projects and external projects I have contributed to so I should give credit to Frog Design (MLB, CBS), AARF(Netflix), Metaliq(Terra), StepChange ( Silverlight.net showcase), Tafiti ( DPE peers that encouraged me to reuse their code, will reuse more as we go), the expression encoder templates, and from discussions or even newsgroups. I also reused and butchered heavily existing WPF concepts,names, etc. apologies for not keeping the concepts accurate; they morphed as needed to accommodate for what ever I was needing each time.