In Silverlight or Windows Phone 7, sometimes you may have requirement to change ImageSource in time interval.
User have need to Rotating Images one by one every 1 minutes.
To Rotate Image, we need to create Timer and we have to set Image source in another thread that not afftect the current thread.
Below is code snippet.
In abovo source, i am changing image source every 1 minutes and converting String to ImageSource.
User have need to Rotating Images one by one every 1 minutes.
To Rotate Image, we need to create Timer and we have to set Image source in another thread that not afftect the current thread.
Below is code snippet.
private Timer timer;
private object locker = new object();
private int count = 0;
private void StartTimer()
{
timer = new Timer(ChangeImage, null, 0, 1000);
}
private void ChangeImage(object state)
{
try
{
lock (locker)
{
string imgString = string.Empty;
switch (count)
{
case 1:
imgString = "/MyApplication;component/Images/First.png";
break;
case 2:
imgString = "/MyApplication;component/Images/Second.png";
break;
case 3:
imgString = "/MyApplication;component/Images/Third.png";
break;
}
Deployment.Current.Dispatcher.BeginInvoke(new Action(() =>
{
Uri uri = new Uri(imgString, UriKind.Relative);
ImageSource imgSource = new BitmapImage(uri);
NearImage.Source = imgSource;
count = count + 1;
if (count == 4) count = 1;
}));
}
}
catch (Exception)
{
}
}
In abovo source, i am changing image source every 1 minutes and converting String to ImageSource.
No comments:
Post a Comment