I am trying to use message dialog in dispatch timer to alter user when the time is complete. but at times it gives following error: \"Access is denied. (Exception from HRESU
Like Jeff says, the timer Tick event handler code is running on a different thread than the UI thread. You'll have to get back to this UI thread to manipulate anything in the UI: message dialog, changing properties, etc.
// some code for the timer in your page
timer = new DispatcherTimer {Interval = new TimeSpan(0, 0, 1)};
timer.Tick += TimerOnTick;
timer.Start();
// event handler for the timer tick
private void TimerOnTick(object sender, object o)
{
timer.Stop();
var md = new MessageDialog("Test");
this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => md.ShowAsync());
}
Note that I do stop the timer in the event handler. If you don't close a message dialog in time before another one is shown, you'll get an access denied on the 2nd ShowAsync too (because the first is still open).