Чтобы добавить к ответу ColinE, можно использовать события , но проблема с разрешением событий в коде позади состоит в том, что это скользкий уклон.Вы добавляете одну вещь, затем добавляете другую, и вдруг вы создаете реальную логику в классе codebehind.(Это еще более заметно, если вы работаете с другими менее опытными программистами в вашей команде).
Вот почему я предпочитаю, почти без исключений, вообще не писать код позади.Любой код, который соответствует кодам позади, но не является действительно кодом прикладной логики, также может быть написан в рамках поведения, что делает архитектуру намного более строгой и простой для определения.
Кроме того, Поведения, являющиеся таким сильным дополнением к WPF4, по своей природе очень инкапсулированы и очень многоразовы, поэтому обычно вам лучше с Поведением по любому стандарту.