Windows 8.1 Metro 应用程序 - 捏合和缩放图像 [英] Windows 8.1 Metro app - Pinch and zoom an Image

查看:32
本文介绍了Windows 8.1 Metro 应用程序 - 捏合和缩放图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有什么方法可以在 Windows 8.1 中的 XAML 中实现捏合和缩放图像控件,我正在尝试操作增量事件.但是该事件没有被触发,我也尝试设置 ManipulationMode="All".

Is there any way to implement pinch and zoom the image control inside XAML in Windows 8.1, i am trying Manipulation delta event. But that event not get fired, also i tried setting ManipulationMode="All".

<Image x:Name="kn" ManipulationMode="All" ManipulationDelta="kn_ManipulationDelta" HorizontalAlignment="Center" VerticalAlignment="Center" Height="315" Width="360" RenderTransformOrigin="0.5, 0.5">
  <Image.RenderTransform>
  <CompositeTransform></CompositeTransform>
  </Image.RenderTransform>
</Image>

在cs文件中

private void kn_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
 UIElement element = sender as UIElement;
 CompositeTransform transform = element.RenderTransform as CompositeTransform;
 if (transform != null)
 {

 transform.ScaleX *= e.Delta.Scale;
 transform.ScaleY *= e.Delta.Scale;
 transform.Rotation += e.Delta.Scale / Math.PI;
 transform.TranslateX += e.Delta.Translation.X;
 transform.TranslateY += e.Delta.Translation.Y;
 }
}

有什么我需要设置的吗?或者我必须以其他方式去?

Is there anything i have to set. Or i have to go with some other way?

推荐答案

您可以通过使用 ScrollViewer 控件.

You can achieve this easily by wrapping your image with a ScrollViewer control.

<ScrollViewer ZoomMode="Enabled">
    <Image ............ />
</ScrollViewer>

这篇关于Windows 8.1 Metro 应用程序 - 捏合和缩放图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆