在windows phone 8 中我们通常会遇到图片放大缩小的问题,比如,商品的细节问题,需要点击图片放大。
这里我就直接来代码了:
在xaml页面的页头需要先添加引用
xmlns:tookit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"</span>
然后再你的图片位置添加如下代码:
<Image x:Name="GoodPhoto" Height="300" Width="393" VerticalAlignment="Center" Grid.Row="0" Source="{Binding GoodPhoto}" Margin="9,-6,0,0">
<Image.RenderTransform>
<CompositeTransform x:Name="compTransform" CenterX="240" CenterY="364" ScaleX="1" ScaleY="1"/>
</Image.RenderTransform>
<tookit:GestureService.GestureListener>
<tookit:GestureListener DoubleTap="DoubTap" DragDelta="DragDelta" />
</tookit:GestureService.GestureListener>
</Image>
</span>
最后相应代码的DoubTap,DragDelta 两个事件
private void DoubTap(object sender, Microsoft.Phone.Controls.GestureEventArgs e)
{
if (compTransform.ScaleX != 1 || compTransform.ScaleY != 1)//第二次双击恢复初始状态
{
compTransform.ScaleX = compTransform.ScaleY = 1;
compTransform.TranslateX = 0;
compTransform.TranslateY = 0;
}
else
{//双击使图片比例放大三倍
compTransform.ScaleX = compTransform.ScaleY = 2;
compTransform.TranslateX = 35;
compTransform.TranslateY = 320;
}
}
//
private void DragDelta(object sender, DragDeltaGestureEventArgs e)
{
if (compTransform.ScaleX == 2 && compTransform.ScaleY == 2)
{
compTransform.TranslateX += e.HorizontalChange;
compTransform.TranslateY += e.VerticalChange;
}
}