3

I've looked at this example of ping/zoom of images and seems pretty straight forward.

The problem I'm having is that my image is part of the data template of my pivot control and I am unable to access the transform object.

<DataTemplate>
    <Image Name="displayImage" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Source="{Binding photo_link}" RenderTransformOrigin="0.5, 0.5" CacheMode="BitmapCache">
        <Image.RenderTransform>
            <CompositeTransform x:Name="transform" />
        </Image.RenderTransform>
        <toolkit:GestureService.GestureListener>
            <toolkit:GestureListener PinchDelta="OnPinchDelta" PinchStarted="OnPinchStarted" />
        </toolkit:GestureService.GestureListener>
    </Image>
</DataTemplate>

In this method, transform cannot be resolved.

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

any ideas??

thanks!

Community
  • 1
  • 1
earthling
  • 5,084
  • 9
  • 46
  • 90

1 Answers1

1

The sender should be the Image that the listener is attached to:

var image = sender as Image;
var transform = image.RenderTransform as CompositeTransform;

initialAngle = transform.Rotation;
initialScale = transform.ScaleX;
Michael S. Scherotter
  • 10,715
  • 3
  • 34
  • 57