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