ScaleTransform in LayoutTransform funktioniert nicht, aber mit RenderTransform

Ich versuche, in meiner Anwendung zwei Dinge zu tun.

1. Bild vergrößern

Able mit @ zu tRenderTransform. aber müssen in @ erreichLayoutTransform ermöglichenScrollviewer.

xaml

Arbeiten

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

Funktioniert nich

<Image.LayoutTransform>
     <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
</Image.LayoutTransform>
2. Bild drehen

works mit beidenScaleTransform undRenderTransform aber brauche es mitScaleTransform erhaltenScrollViewer

Problem ist inScaleTransform mitLayoutTransform

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

Nicht auch beides erreichenScaleTransform undRotateTransform mitScrollViewer

Ich habe es mit @ versucCanvas

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

Differentes Verhalten beim Drehen, aber beide Funktionen funktionieren, aberScrollViewer nicht scrollen.

Rotate Behavior für canvas

-

Tried das gleiche mitViewBox

rotate funktioniert nicht mit ScrollViewer Zoom.

Full Code below

<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>

Anyone kann mir mit Vorschlägen helfen.

Arbeitslösung für mich vorgeschlagen von '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>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage