// 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