Here's a nice way to bind to mouse events to a RoutedCommand. My RoutedCommand is defined in a ViewModel (in the Model-View-ViewModel pattern):
<Image Name="Image" Grid.Row="0"
Source="{Binding DataModel.Thumbnail, Converter={StaticResource
ImageConverter}}">
<Image.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick"
Command="vm:ThumbnailViewModel.PreviewCommand"/>
</Image.InputBindings>
</Image>