答案 0 :(得分:2)
如果您按照评论中的链接显示如何平移/缩放。缩放通常使用ScrollViewer完成,如示例here中所示。
<ScrollViewer x:Name="scrollViewer" Width="480" Height="270" HorizontalAlignment="Left" VerticalAlignment="Top" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" ZoomMode="Enabled" MinZoomFactor="0.7">
<StackPanel Width="480" Height="270" Orientation="Horizontal">
<Image AutomationProperties.Name="Image of a cliff" Source="images/cliff.jpg" Stretch="Uniform" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</StackPanel>
</ScrollViewer>
ScrollViewer
处理捏合+缩放。
旋转你必须自己处理,this link应该告诉你如何。
在这种情况下,您需要设置GestureRecognizer
以包含Windows.UI.Input.GestureSettings.ManipulationRotate
并连接到ManipulationUpdated
事件。
在该链接中,它显示您可以通过ManupulationUpdatedEventArgs
.Delta.Rotation
属性获取操作之间的差异(增量变换)。
一旦拥有了这个价值,你就可以随心所欲地做任何事情。 例如,如果您的XAML中有一个带变换的命名图像:
<Image x:Name="myImage" Source="{Binding YourImageUrl}" Stretch="Uniform" RenderTransformOrigin="0.5,0.5" >
<Image.RenderTransform>
<CompositeTransform x:Name="myTransform" Rotation="0"/>
</Image.RenderTransform>
</Image>
然后你可以响应操作增量,你可以设置myTransform.Rotation = myTransform.Rotation + Delta.Rotation
。
你可能会混淆ScrollViewer
的内置行为和手动处理操作事件,这可能意味着你需要通过操纵事件自己处理它。
希望有所帮助。