Simple Image Scroller Slide Show using Silverlight ListBox control
Last week I was working on a image scroll-er slide show using silverlight listbox control and it worked great and I thought I’d share this.
Click here to view the live demo (images may take a while to load)
Click here to download the article
If you find the Image Scroller code library useful, please consider donating

Xaml C# Code
public class ImageScroller
{
public string Url { get; set; }
}
public partial class ImageGallery : UserControl
{
int index = 0;
void StartSlideShow()
{
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(2500); //delayed for 2.5 seconds
timer.Tick += (sender, e) =>
{
lbScrollGallery.ScrollIntoView(lbScrollGallery.Items[index]); //scroll to the current item
lbScrollGallery.SelectedIndex = index; //highlight the selected item in the list box scroller
ImageScroller item = (ImageScroller)lbScrollGallery.Items[index]; // getting the current item
imgPreview.Source = new BitmapImage(new Uri(item.Url, UriKind.Relative));
if (index < lbScrollGallery.Items.Count - 1)
{
index++;
}
else
{
lbScrollGallery.ScrollIntoView(lbScrollGallery.Items[0]); //scroll to the first item
index = 0; //reset the index when it reaches to the last item
}
};
timer.Start();
}
public ImageGallery()
{
InitializeComponent();
LoadImages();
StartSlideShow();
}
void LoadImages()
{
lbScrollGallery.ItemsSource = new List<ImageScroller>
{
new ImageScroller
{
Url = "images/Chrysanthemum.jpg"
},
new ImageScroller
{
Url = "images/Desert.jpg"
},
new ImageScroller
{
Url = "images/Hydrangeas.jpg"
},
new ImageScroller
{
Url = "images/Jellyfish.jpg"
},
new ImageScroller
{
Url = "images/Koala.jpg"
},
new ImageScroller
{
Url = "images/Lighthouse.jpg"
},
new ImageScroller
{
Url = "images/Penguins.jpg"
},
new ImageScroller
{
Url = "images/Tulips.jpg"
}
};
imgPreview.Source = new BitmapImage(new Uri("images/Chrysanthemum.jpg", UriKind.Relative)); //load default image while page loads
}
void ScrollerSelectionChanged(object sender, SelectionChangedEventArgs e)
{
ListBox listbox = (ListBox)sender;
ImageScroller item = (ImageScroller)listbox.SelectedItem;
if(item != null && ! string.IsNullOrEmpty(item.Url))
{
imgPreview.Source = new BitmapImage(new Uri(item.Url, UriKind.Relative));
index = listbox.SelectedIndex;
lbScrollGallery.ScrollIntoView(lbScrollGallery.Items[index]);
}
}
}
Hope this help and If you have any comments, please feel free to write your feedback.
Click here to view the live demo (images may take a while to load)
You can download the entire article from here
If you find the Image Scroller code library useful, please consider donating

Thanks
Deepu





