windows phone 8 双击图片,图片放大,再点击图片缩小。

在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;
            }
        }
 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值