I think, you are using RenderTransform
to rotate the image.
Instead, use LayoutTransform
.
See the sample:
<StackPanel>
<Border Width="500" Height="300" BorderBrush="Black" BorderThickness="1">
<Image Source="sombrero.jpg" Stretch="Fill" x:Name="img" HorizontalAlignment="Center" VerticalAlignment="Center">
</Image>
</Border>
<Button Content="Rotate" Click="ButtonBase_OnClick"></Button>
</StackPanel>
Codebehind:
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
img.LayoutTransform = new RotateTransform(90);
}
Before:

After:

Hope this helps.