PopupNotifier
не работает, когда он помещен внутри timer class
, если мы поместим PopupNotifier
вне класса таймера, он будет работать нормально для меня, следующий код используется для этого.
public MainWindow()
{
InitializeComponent();
bool needToShowInTaskbar = this.ShowInTaskbar;
WindowState initialWindowState = this.WindowState;
// making window invisible
this.ShowInTaskbar = false;
this.WindowState = WindowState.Minimized;
// showing and hiding window
this.Show();
this.Hide();
// restoring original settings
this.ShowInTaskbar = needToShowInTaskbar;
this.WindowState = initialWindowState;
SetTimer();
}
private void SetTimer()
{
m_mainTimer = new System.Timers.Timer();
m_mainTimer.Interval = 60000; // every one min
m_mainTimer.Elapsed += m_mainTimer_Elapsed;
m_mainTimer.AutoReset = false; // makes it fire only once
m_mainTimer.Start(); // Start
m_timerTaskSuccess = false;
}
private void m_mainTimer_Elapsed(Object source, ElapsedEventArgs e)
{
try
{
LoadData();
PopupNotifier popup = new PopupNotifier();
popup.TitleText = joomla.subject;
popup.ContentText = joomla.body;
popup.Popup();
m_timerTaskSuccess = true;
}
catch (Exception ex)
{
m_timerTaskSuccess = false;
}
finally
{
if (m_timerTaskSuccess)
{
m_mainTimer.Start();
}
}
}