Вы когда-нибудь замечали, что события MouseLeftButtonDown и MouseLeftButtonUp не запускаются при нажатии кнопки Silverlight? Причина этого заключается в том, что кнопка сама обрабатывает эти два события, переопределяя обработчики OnMouseLeftButtonDown и OnMouseLeftButtonUp. В переопределении OnMouseLeftButtonDown возникает событие Click, а событие MouseLeftButtonDown помечается как обработанное, поэтому оно не может всплыть в визуальном дереве. Переопределение OnMouseLeftButtonUp также помечает MouseLeftButtonUp как обработанный.
Эту вещь можно изменить с помощью свойства ClickMode элемента управления Button. Имеет следующие значения - Hover, Press, Release. По умолчанию используется Pressed, и мы уже объяснили это. Если для ClickMode установлено значение Release, событие Click будет вызываться в переопределении OnMouseLeftButtonUp, а события MouseLeftButtonDown и MouseLeftButtonUp будут снова обрабатываться внутри кнопки. Если мы установим ClickMode в Hover, событие Click будет вызвано событием MouseEnter, и мы также сможем использовать события кнопки мыши.