ScaleTransform en LayoutTransform no funciona pero funciona con RenderTransform

Estoy tratando de hacer dos cosas en mi aplicación.

1. Imagen de zoom

Capaz de hacer conRenderTransform. pero necesita lograr enLayoutTransform para permitirScrollviewer.

xaml

trabajando.

 <Image.RenderTransform>
      <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
 </Image.RenderTransform>

No funciona

<Image.LayoutTransform>
     <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
</Image.LayoutTransform>
2. Girar imagen

trabaja con ambosScaleTransform yRenderTransform pero lo necesito conScaleTransform para obtenerScrollViewer

El problema está enScaleTransform conLayoutTransform

<Image.LayoutTransform>
    <TransformGroup> 
       <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
       <RotateTransform Angle="{Binding RotateAngle}"/>
    </TransformGroup>
</Image.LayoutTransform>

No es capaz de lograr ambosScaleTransform yRotateTransform conScrollViewer

He intentado conCanvas

xaml
<Canvas.LayoutTransform>
   <TransformGroup> 
      <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
      <RotateTransform Angle="{Binding RotateAngle}"/>
   </TransformGroup>
</Canvas.LayoutTransform>

Diferente comportamiento de rotación pero capaz de lograr ambas funcionalidades trabajando peroScrollViewer No se desplaza.

Comportamiento de rotación para lienzo

-

Intenté hacer lo mismo conViewBox

rotar funciona con ScrollViewer Zoom no funciona.

Código completo a continuación

<ScrollViewer>
    <Viewbox  RenderTransformOrigin="0.5,0.5" Height="Auto" Width="Auto" ScrollViewer.CanContentScroll="True">
         <Viewbox.LayoutTransform>
                <TransformGroup> 
                    <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
                    <RotateTransform Angle="{Binding RotateAngle}"/>
                </TransformGroup>
            </Viewbox.LayoutTransform>
        <Image RenderTransformOrigin="0.5,0.5" >               
            <Image.Source>                    
                <BitmapImage UriSource="{Binding ImagePath}" ScrollViewer.CanContentScroll="True"></BitmapImage>
            </Image.Source>
        </Image>
    </Viewbox>
 </ScrollViewer>

Cualquiera puede ayudarme con sugerencias.

Solución resuelta para mí sugerida por 'GazTheDestroyer'

XAML
<Image RenderTransformOrigin="0.5,0.5" Stretch="None" >
            <Image.LayoutTransform>
                <TransformGroup>
                  <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
                  <RotateTransform Angle="{Binding RotateAngle}"/>
               </TransformGroup>
           </Image.LayoutTransform>
         <Image.Source>                    
           <BitmapImage UriSource="{Binding ImagePath}" ScrollViewer.CanContentScroll="True"></BitmapImage>
         </Image.Source>
 </Image>

Respuestas a la pregunta(1)

Su respuesta a la pregunta