Has it really been two years since the last official update of the Bag of Tricks?

I guess it has. A lot has changed since then. I started my own consulting company. And then joined up with Robby to launch Pixel Lab.

With previous releases, I was doing a very good job of breaking out almost all of the changes. This time, there are just too many. I’ll try to highlight the big ones.

  • Added Org Tree. This is a pretty straight-forward sample of a vertical tree view.
  • Added ReorderListBox. This is something Robby’s had for a while. I cleaned it up a bit for reuse.
  • Added Show
  • Removed the date controls. There are better versions in the official WPF Codeplex site.
  • Created AnimatingPanel abstract class. This is now the base class for AnimatingTilePanel and TreeMapPanel. All you have to tweak is call the protected virtual ArrangeChild in ArrangeOverride.
  • A bunch of additions to the Common assembly.
  • Moved main development over to VS 2010.
  • Added support for Silverlight 4. You’ll find projects nested in the same folder. You’ll also notice #define #if #else for SILVERLIGHT which handles some special cases where things don’t work in both places.
  • Added Vector for Silverlight. This allows a bunch of my helper methods and animation methods to work without code changes between the two frameworks.
  • Added ObservableCollectionPlus<T>. This has a ReadOnly property, along with support for Sort and adds Move to Silverlight OC<T>.
  • …and a bunch of other stuff I’m likely forgetting.

You can get the source (via SVN) at Codeplex: http://bot.codeplex.com/

You can download a sample app that runs against WPF 3.5 here.

The BOT has been the basis for Silverlight, WPF, and Windows Phone 7 apps I’ve written this year. Robby and I are going to keep tweaking it and updating it as we need new stuff.

You should do the same.

File bugs. Submit patches.

Let’s make this our Bag of Tricks.

Happy hacking,

>Kevin

PS -> please make comments on the codeplex project discussion page! It's much easier to reply there. :-)