1

我正在为 Windows Phone 8 开发与图像相关的应用程序。在完成所需的图像处理后,我目前在“图像”工具箱项中显示输出,这对我来说似乎效果很好。这里的编码是用 C# + XAML 完成的。

现在我想改进 UI 并使输出图像可缩放(使用捏缩放)。我想知道如何创建这样一个可以缩放的 UI 元素。

我了解这可能是许多应用程序开发人员的共同要求。但我一直无法找到很多相同的参考。

4

1 回答 1

5

下载windows phone工具包并使用GestureService.GestureListener

xml:

...
xmlns:tk="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
...

<Image Source="myImage.jpg" RenderTransformOrigin="0.5, 0.5" CacheMode="BitmapCache">
    <Image.RenderTransform>
        <CompositeTransform x:Name="transform" />
    </Image.RenderTransform>
    <tk:GestureService.GestureListener>
        <tk:GestureListener PinchStarted="OnPinchStarted" PinchDelta="OnPinchDelta" />
    </tk:GestureService.GestureListener>
</Image>

后面的代码:

double initialScale = 0;

private void OnPinchStarted(object sender, PinchStartedGestureEventArgs e) {
  initialScale = transform.ScaleX;
}

private void OnPinchDelta(object sender, PinchGestureEventArgs e) {
  transform.ScaleX = initialScale * e.DistanceRatio;
  transform.ScaleY = initialScale * e.DistanceRatio;
}
于 2013-05-09T19:15:35.660 回答