2010-07-05 104 views
2

我想创建一个使用WPF和C#的图像幻灯片,但我不知道如何做到这一点。我想自动执行(时间后更改图片)以及用户可以点击的按钮...WPF幻灯片和照片库

回答

2

一种方法是将所有图像放在一个文件夹中,然后使用计时器控制选择的代码这些图像之一。如果你希望它是随机的,你可以做这样的事情:

Random random = new Random(); // Only do this once 

string[] images = Directory.GetFiles(root, "*.jpg"); 
string chosen = images[random.Next(0, images.Length)]; 

如果你想连续的,则只需生成一次列表,不断记下当前的位置,然后就增加它 - 照顾滚当你点击数组的末尾时,返回0。

在主UI线程中,处理事件并更新<Image>以显示图像。

image.Source = new BitmapImage(new Uri(chosen, UriKind.Relative)); 

下一个和上一个按钮可以选择文件夹中的下一个和上一个图像。

+0

如何在这段代码中使用线程?对于序列,它不需要是随机的,我可以顺序int i = 0; i =(i + 1)%images.Length; – sikas 2010-07-05 21:51:15

+0

@Sikas - 如果它不必是随机的,那么你的顺序代码应该没问题。我会更新答案在线程/计时器问题上更清晰一些。 – ChrisF 2010-07-05 21:55:59

+0

感谢这个例子,但我想让你告诉我如何使用线程,因为我不知道它的任何内容。如果你知道任何教程,它会很棒 – sikas 2010-07-05 22:01:42