Silverlight Behaviors are a very powerful way to extend a control to do more than in natively does, without having to fully subclass. I was writing a behavior to attach to a Canvas that would allow for a page turn effect. In my case I wanted the Canvas to contain other Canvases that it would manipulate. But I ran into two main dilemmas:
1. The OnAttached event fires before the Children are created. So how do you manipulate the Children when the control loads?
2. How do you let the UI Designer tell you which child elements to manipulate?
The answers are quite easy.