我正在努力创建一个不断旋转的特殊优惠,新产品和产品展示,我希望使用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过去它似乎不会改变图像。我做错了什么或者有什么不同的方法可以解决这个问题?
答案 0 :(得分:0)
使用计时器实现此功能可能更好。然后,您可以在每次触发tick事件时替换图像。
以下是在Silverlight中创建计时器的msdn链接:
https://msdn.microsoft.com/en-us/library/cc189084(v=vs.95).aspx
计时器需要在Loaded事件中启动,然后在Unloaded事件中停止。