У меня есть элемент управления, который позволяет пользователю вращать изображение - вот упрощенная версия XAML:XAML изображения по размеру Родитель После вращения
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" Margin="5"
BorderBrush="Black" BorderThickness="2"
Background="#ddd">
<Viewbox>
<Image Source="image.jpg" RenderTransformOrigin="0.5, 0.5">
<Image.RenderTransform>
<RotateTransform Angle="{Binding ElementName=Slider, Path=Value}"/>
</Image.RenderTransform>
</Image>
</Viewbox>
</Border>
<Slider x:Name="Slider"
Grid.Row="1" Margin="5"
Minimum="-180" Maximum="180"
Value="0"/>
</Grid>
Проблема у меня в том, что изображение может вращаться вокруг границ содержащего прямоугольника, тогда как мне нужно, чтобы он был изменен так, чтобы он соответствовал. Я мог бы рассчитать наилучшую посадку на ViewModel и связать это, но я уверен, что я просто могу пропустить трюк в XAML, чтобы это произошло для меня. Я думал, что Viewbox, возможно, сделал трюк, но либо это не так, либо я использую его неправильно ...
Эта ссылка объясняет разницу между RenderTransform и LayoutTransform и почему это работает: http://www.scottlogic.com/blog/2008/12/19/layouttransform-vs-rendertransform-whats-the-difference.html –