2010-07-05 105 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