Ho un oggetto ToggleButton (System.Windows.Controls.Primitives) e ho bisogno di gestire alcuni eventi ad esso correlati. In particolare avendo bisogno di gestire l'evento MouseDown ho creato il metodo all'interno della mia classe (che contiene l'oggetto Togglebutton):

codice:
Private Sub ButtonMouseDown(ByVal sender As System.Object, ByVal e As _
            System.Windows.RoutedEventArgs) Handles MyToggleButton.MouseDown
        ...
End Sub

Tuttavia il metodo viene chiamato unicamente quando utilizzo il tasto destro del mouse, sono riuscito ad utilizzarlo con il tasto sinistro del mouse sostituendo l'evento MouseDown con PreviewMouseDown senza però capirne il motivo.

Il mio problema è ora la cattura dell'evento MouseLeave, che come il precedente viene attivato solo se utilizzo il tasto destro del mouse, e non essendoci una PreviewMouseLeave non so come risolvere il problema, in quanto quando utilizzo il tasto sinistro l'evento non viene catturato finchè tengo il tasto premuto...