好吧,这可能看起来是一个非常愚蠢的问题,但我还不太习惯 Silverlight 领域。我正在开发一个引用 Multitouch.Behaviors.WP7 codeplex 项目 ( http://multitouch.codeplex.com/ ) 的 Silverlight/WP7 应用程序。
<Canvas x:Name="MyCanvas">
<Image Source="Images/image.png"
x:Name="MyImage" Width="120"
Canvas.Left="240" Canvas.Top="235">
<i:Interaction.Behaviors>
<tb:MultiTouchBehavior
AreFingersVisible="True"
IsDebugModeActive="True"
IsMockActive="True"
IsRotateEnabled="True"
IsScaleEnabled="True"
IsTranslateXEnabled="True"
IsTranslateYEnabled="True"
MaximumScale="100"
MinimumScale="0.5"/>
</i:Interaction.Behaviors>
</Image>
显然,用户可以使用多点触控功能来拖动图像、旋转图像以及缩放图像。如何以编程方式访问图像缩放/旋转/平移的值?
最佳答案
多点触控行为使用 CompositeTransform作为与其关联的对象的 RenderTransform。因此,您可以使用类似于以下的代码来访问转换后的值:
var transform = this.MyImage.RenderTransform as CompositeTransform;
var currentScaleX = transform.ScaleX;
var angle = transform.Rotation;
var offsetX = transform.TranslateX;
关于c# - 在 Silverlight/WP7 应用程序中使用 MultiTouchBehavior 时,如何以编程方式查找缩放、旋转和平移值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4720082/