Image.xaml
<canvas x:name="LayoutRoot">
<img x:name="imgLogo1" source="Image/logo1.jpg" canvas.top="60" canvas.left="100" canvas.zindex="1" mouseleave="imgLogo1_MouseLeave" mouseenter="imgLogo1_MouseEnter" cursor="Hand">
<image.rendertransform>
<scaletransform x:name="LogoScale" centery="96"centerx="90">
</scaletransform>
</image.rendertransform>
</img>
</canvas>
Image.xaml.cs
private System.Windows.Threading.DispatcherTimer timer;
private ScaleDirection scaleDirection ;
public Page()
{
InitializeComponent();
timer = new System.Windows.Threading.DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(50);
timer.Tick += new EventHandler(timer_Tick);
}
void timer_Tick(object sender, EventArgs e)
{
AdjustScale(scaleDirection, LogoScale);
}
void AdjustScale(ScaleDirection scaleDirection, ScaleTransform scale)
{
if (scaleDirection == ScaleDirection.Down)
{
if (scale.ScaleX < 1.3)
{
scale.ScaleX += 0.05; scale.ScaleY += 0.05;
}
else
timer.Stop();
}
else
{
if (scale.ScaleX > 1.0)
{
scale.ScaleX -= 0.05; scale.ScaleY -= 0.05;
}
else
timer.Stop();
}
}
enum ScaleDirection
{
Up, Down
}
private void imgLogo1_MouseEnter(object sender, MouseEventArgs e)
{
scaleDirection = ScaleDirection.Down;
timer.Start();
}
private void imgLogo1_MouseLeave(object sender, MouseEventArgs e)
{
scaleDirection = ScaleDirection.Up;
timer.Start();
}