What you need here is attached behavior. I can recommend you to see this nice article :
http://blogs.microsoft.co.il/blogs/tomershamam/archive/2009/04/14/wpf-commands-everywhere.aspx
Your code would looks like (with the Attached Commands library) :
<Style>
<Setter Property="ts:CommandSource.Trigger">
<Setter.Value>
<ts:PropertyCommandTrigger Property="IsMouseOver" Value="true" Command="{Binding Path=PushPinMouse}"/>
</Setter.Value>
</Setter>
</Style>
This says : "When Mouse is over, executes the PushPinMouse command". If this is not the behavior that you need, maybe you can adapt this code ;)
Like the others said, a button command is only executed when it is clicked, BUT this library can add commands to other events (whereas routed events or property changed events).
You will still need this trigger :
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand"></Setter>
</Trigger>