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




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章