I\'ve an Image component where I want to rotate the source :
The problem is that the Transforms were applied after the layout pass. You should use a LayoutTransform
to perform the transformation before the layout is calculated:
<Image Name="ImageTarget" HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="Uniform" RenderTransformOrigin=".5,.5">
<Image.LayoutTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding Main.BindedViewMode, Converter={StaticResource ImageSizeConverter}}" />
<ScaleTransform ScaleY="{Binding Main.BindedViewMode, Converter={StaticResource ImageSizeConverter}}" />
<RotateTransform Angle="-90" />
</TransformGroup>
</Image.LayoutTransform>
I suggest you to use CompositeTransform
instead of RotateTransform
and ScaleTransform
. Then you can call Rotate
and TranslateX
/TranslateY
inside of the CompositeTransform
tag to move your object.
In your code dimensions was changed because of ScaleX
/ScaleY
!