A timer that raises the Tick events on a background thread, similar to ThreadPoolTimer, but with API compatible with DispatcherTimer.
It was written in response to this SO question: Controlled non UI timer in metro app (.NET) (http://stackoverflow.com/questions/10493253/controlled-non-ui-timer-in-metro-app-net). The purpose was to have ticks on a background thread and have the same API as the DispatcherTimer. It also has an option to self adjust a bit to have an average frequency closer to what you would expect given the configured Interval. That said I was not aware of the ThreadPoolTimer, so it is possible it makes more sense to use that one. It is a bit strange that the two timers we get have different APIs though, so perhaps that is one case where using the BackgroundTimer makes a little bit of sense.
Inheritance: IDisposable
 private void InitializeTimer()
 {
     //timer = new DispatcherTimer();
     _timer = new BackgroundTimer {Interval = TimeSpan.FromSeconds(1.00)};
     _timer.Tick += OneSecondPassed;
     DataContext = new { Dashboard = 0 };
 }
 public BackgroundTimerTestPage()
 {
     this.InitializeComponent();
     _bt = new BackgroundTimer { Interval = TimeSpan.FromSeconds(.1), AdjustDelays = false };
     _bt.Tick += _bt_Tick;
     _abt = new BackgroundTimer { Interval = TimeSpan.FromSeconds(.1) };
     _abt.Tick += _abt_Tick;
     _dt = new DispatcherTimer { Interval = TimeSpan.FromSeconds(.1)};
     _dt.Tick += _dt_Tick;
 }