// Note: You can have only one DispatchTimer object per class
private DispatcherTimer _timer;
MyClass()
{
// Timer Start Code
var myObject = new SomeObject();
_timer.Interval = TimeSpan.FromMilliseconds(700);
_timer.Tag = myObject ;
_timer.Tick += TimerTickEventHandler;
_timer.Start();
}
private void TimerTickEventHandler(object sender, EventArgs e)
{
var timer = (DispatcherTimer)sender;
var myObject = (SomeObject)timer.Tag;
// now you can use myObject
timer.Stop();
}
Tuesday, March 1, 2011
WPF - Passing Arguments to Timer.Tick
Recently I worked on a projected that needed to animate objects based on a timer. I wanted to write a generic timer handler to perform an operation on the object passed in to the timer. Initially I tried messed with EventArgs passed to the event handler, but turns out there is an easier way - using the "Tag" property:
0 comments:
Post a Comment