c# - 在 Silverlight/WP7 应用程序中使用 MultiTouchBehavior 时,如何以编程方式查找缩放、旋转和平移值?

标签 c# .net silverlight windows-phone-7 multi-touch

好吧,这可能看起来是一个非常愚蠢的问题,但我还不太习惯 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/

相关文章:

java - Javas 在 2011 年对 Winforms/WPF/Silverlight 的回答是什么

c# - 数据绑定(bind)到 ComboBox 中的 CollectionViewSource 时如何保留 CurrentItem 的双向绑定(bind)

c# - 如何在 C# 中获取利率和银行同业拆借利率?

.net - 在 NServiceBus 中对发布的事件进行分组

C#检测进程退出

c# - .NET 空闲内存使用(如何防止过度分配/释放内存给操作系统)

silverlight - WP7 ProgressBar高度和颜色问题

c# - Php 转 Unity Json/数组 返回 null

c# - 如何突出显示下拉列表中的搜索文本

c# - 使用什么来安排 .NET 应用程序每天运行?