from Jeremy Likness
One of the most powerful benefits of Silverlight is that it uses the
DependencyProperty model. Using this model, you can create attached properties to describe reusable behaviors and attach those behaviors to certain elements.
An example of this is firing animations in the UI elements. One criticism of Silverlight has been the lack of support for the range of triggers that Windows Presentation Foundation (WPF) supports. The main “trigger” you can tap into is the
Loaded event for a control. This makes it difficult to define triggers for events such as data binding and/or UI events.
It only takes a little bit of magic using the
DependencyProperty system, however, to create those triggers yourself.
A behavior is a reusable “action” that can be attached to a control. A trigger is an event that causes something to happen. Imagine having a list that is bound to a list box. Your view model contains the list of top level entities. When a selection item is clicked on, a grid expands (using a
Storyboard animation) that contains details for the selected item.