This is usually done by starting Storyboards on EventTriggers:
<Canvas Background="White">
<Canvas.Resources>
<Storyboard x:Key="MoveLeft" TargetName="imageView" TargetProperty="(Canvas.Left)">
<DoubleAnimation To="50" Duration="0:0:0.25"/>
</Storyboard>
<Storyboard x:Key="MoveRight" TargetName="imageView" TargetProperty="(Canvas.Left)">
<DoubleAnimation To="250" Duration="0:0:0.25"/>
</Storyboard>
<Storyboard x:Key="Restore" TargetName="imageView" TargetProperty="(Canvas.Left)">
<DoubleAnimation To="150" Duration="0:0:0.25"/>
</Storyboard>
</Canvas.Resources>
<Canvas.Triggers>
<EventTrigger RoutedEvent="Image.MouseLeftButtonDown">
<BeginStoryboard Storyboard="{StaticResource MoveLeft}"/>
</EventTrigger>
<EventTrigger RoutedEvent="Image.MouseRightButtonDown">
<BeginStoryboard Storyboard="{StaticResource MoveRight}"/>
</EventTrigger>
<EventTrigger RoutedEvent="Image.MouseRightButtonUp">
<BeginStoryboard Storyboard="{StaticResource Restore}"/>
</EventTrigger>
<EventTrigger RoutedEvent="Image.MouseLeftButtonUp">
<BeginStoryboard Storyboard="{StaticResource Restore}"/>
</EventTrigger>
</Canvas.Triggers>
<Image Width="200" Canvas.Left="150" Canvas.Top="90" x:Name="imageView" Source="floppydisk.jpg"/>
</Canvas>