Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DispatcherTimer not firing in WPF Application
- Timer is initialized
- 'WpfApplication5TimerTest.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:WindowsMicrosoft.NetassemblyGAC_MSILPresentationFramework.Aerov4.0_4.0.0.0__31bf3856ad364e35PresentationFramework.Aero.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
- Sample thread
- Sample thread
- Sample thread
- Sample thread
- Sample thread
- Sample thread
- The thread '<No Name>' (0x10b0) has exited with code 0 (0x0).
- Sample thread exiting!
- using System;
- namespace WpfApplication5TimerTest
- {
- static class Program
- {
- [STAThread]
- static void Main(string[] args)
- {
- AppObject = new App();
- AppObject.Run();
- }
- public static App AppObject
- {
- get;
- private set;
- }
- }
- }
- using System;
- using System.Threading;
- using System.Windows;
- namespace WpfApplication5TimerTest
- {
- public partial class App : Application
- {
- protected override void OnStartup(StartupEventArgs e)
- {
- var sampleThread = new Thread(new ThreadStart(SampleThreadEntryPoint));
- sampleThread.Start();
- new MainWindow().Show();
- }
- private void SampleThreadEntryPoint()
- {
- SingletonWithTimer.Initialize();
- while (!_shutdownEvent.WaitOne(1000))
- Console.WriteLine("Sample thread");
- Console.WriteLine("Sample thread exiting!");
- }
- protected override void OnExit(ExitEventArgs e)
- {
- _shutdownEvent.Set();
- }
- private ManualResetEvent _shutdownEvent = new ManualResetEvent(false);
- }
- }
- using System;
- using System.Windows;
- namespace WpfApplication5TimerTest
- {
- public partial class MainWindow : Window
- {
- public MainWindow()
- {
- InitializeComponent();
- }
- private void Window_Closed(object sender, EventArgs e)
- {
- Program.AppObject.Shutdown();
- }
- }
- }
- using System;
- using System.Windows.Threading;
- namespace WpfApplication5TimerTest
- {
- public class SingletonWithTimer
- {
- private static SingletonWithTimer Instance
- {
- get
- {
- if (_instance == null)
- {
- _instance = new SingletonWithTimer();
- }
- return _instance;
- }
- }
- public static void Initialize()
- {
- SingletonWithTimer.Instance._timer = new DispatcherTimer();
- SingletonWithTimer.Instance._timer.Interval = TimeSpan.FromSeconds(2);
- SingletonWithTimer.Instance._timer.Tick += new EventHandler(SingletonWithTimer.Instance.OnTimerTick);
- SingletonWithTimer.Instance._timer.Start();
- Console.WriteLine("Timer is initialized");
- }
- private void OnTimerTick(object sender, EventArgs e)
- {
- Console.WriteLine("TimerTick");
- }
- private static SingletonWithTimer _instance;
- private DispatcherTimer _timer = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment