Silverlight - 自动迭代图像

时间:2015-11-13 10:33:41

标签: c# silverlight

我正在努力创建一个不断旋转的特殊优惠,新产品和产品展示,我希望使用Silverlight进行宣传。

我已将所有图片加载到我的项目中。在.xaml文件中,我正在加载我要显示的第一个图像:

<Image x:Name="Image1" HorizontalAlignment="Left" Source="image1.jpg" VerticalAlignment="Bottom" Visibility="Visible" Loaded="onImageOpened">
    </Image>

然后在后面的代码中我正在做以下事情:

private void onImageOpened(object sender, System.Windows.RoutedEventArgs e)
{
    Thread.Sleep(1000);
    CurrentImageIndex = (CurrentImageIndex == LastImageIndex) ? FirstImageIndex : CurrentImageIndex++;
    Image1.Source = new BitmapImage(new Uri("image" + CurrentImageIndex + ".jpg", UriKind.RelativeOrAbsolute));
}

但这似乎不起作用。第一个图像被正确加载,当我在onImageOpened上放置一个断点时,它会在第一个图像加载后到达它,但是一旦1000ms过去它似乎不会改变图像。我做错了什么或者有什么不同的方法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用计时器实现此功能可能更好。然后,您可以在每次触发tick事件时替换图像。

以下是在Silverlight中创建计时器的msdn链接:

https://msdn.microsoft.com/en-us/library/cc189084(v=vs.95).aspx

计时器需要在Loaded事件中启动,然后在Unloaded事件中停止。