With the release of the new Silverlight 3, a lot of new cool features have been introduced. One of my favorite definitely is the support of behaviours and triggers. In WPF the triggers are extremely powerful. They allow you to declaratively associate an action with an event or property value. In the previous versions of Silverlight one of the things that were really missing were the triggers and the behaviors. It was not possible, for example, to add mouse-overs to objects declaratively (as in WPF).
This first trigger I very simple. I wanted the ability to tie a checkbox to the visibility of another UIElement. Since a checkbox derives from ToggleButton we can get creative and write a single trigger that will work with either a CheckBox, RadioButton or ToggleButton.
What is really cool about this approach is that each button can contain the logic used to flip the panel (Storyboard direction, duration, etc).
I have demonstrated the technique many times, but here it is all packaged up in a nice reusable class.