您的位置:首页 > 其它

Silverlight学习笔记(1)-3.0放大缩小

2010-03-23 12:02 363 查看
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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: