ScaleTransform no LayoutTransform não está funcionando, mas funciona com RenderTransform
Estou tentando fazer duas coisas no meu aplicativo.
1. Zoom da imagemCapaz de fazer comRenderTransform
. mas precisa alcançar emLayoutTransform
habilitarScrollviewer
.
trabalhando.
<Image.RenderTransform>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
</Image.RenderTransform>
Não está funcionando
<Image.LayoutTransform>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
</Image.LayoutTransform>
2. Girar imagemtrabalha com ambosScaleTransform
eRenderTransform
mas preciso disso comScaleTransform
obterScrollViewer
Problema está emScaleTransform
comLayoutTransform
<Image.LayoutTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
<RotateTransform Angle="{Binding RotateAngle}"/>
</TransformGroup>
</Image.LayoutTransform>
Não é capaz também alcançar ambosScaleTransform
eRotateTransform
comScrollViewer
Eu tentei comCanvas
<Canvas.LayoutTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
<RotateTransform Angle="{Binding RotateAngle}"/>
</TransformGroup>
</Canvas.LayoutTransform>
Comportamento diferente de rotação, mas capaz de alcançar a funcionalidade funcionando, masScrollViewer
não rolando.
Tentei fazer o mesmo comViewBox
girar funciona com o ScrollViewer Zoom não funcionando.
Código completo abaixo
<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>
Qualquer um pode me ajudar com sugestões.
Solução para mim 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>