public static void InitTimer(FrameworkElement control, Action InitializeComponent) { var ih = new InitHelper(); ih.Control = control; ih.StartDate = DateTime.Now; ih.WriteLine("INIT START"); ih.EndDate = DateTime.Now; InitializeComponent.Invoke(); ih.EndDate = DateTime.Now; ih.WriteLine("INIT CON "); lock (TimersLock) Timers.Add(ih); ih.Control.IsVisibleChanged += Control_IsVisibleChanged; ih._Timer.Start(); }
private static void _Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { InitHelper ih = null; lock (TimersLock) ih = Timers.FirstOrDefault(x => Equals(x._Timer, sender)); if (ih == null) { return; } _InitEndCount++; ih.WriteLine("INIT END "); ih.Dispose(); }