protected virtual void ThreadStartingWindow(Object Args) { // Create our context, and install it: SynchronizationContext.SetSynchronizationContext( new DispatcherSynchronizationContext( Dispatcher.CurrentDispatcher)); GmailMail item = Args as GmailMail; //Create notif NotificationUC uc = new NotificationUC(); NotificationUCVM vm = new NotificationUCVM(item, _settings.FGColor, _settings.BGColor, item.Pos, _datas.FullCount); uc.DataContext = vm; WindowNotification w = new WindowNotification(uc, _settings.WaitSeconds * 1000); //always same position w.Left = width - w.Width - 10; w.Top = height - w.Height - 10; w.Show(); //To keep alive the window try { Dispatcher.Run(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }