private void Calculate() { while (Date != null && Date.GetTick() > 0) { Dispatcher.Invoke(() => { Time.Content = Date.GetTimeToEndWork(); Percent.Content = Math.Round(Date.GetPercent(), 2) + "%"; Weekend.Content = Date.GetWeekendPercent(); }); Thread.Sleep(500); } Dispatcher.Invoke(() => { if (Date != null && Date.GetTick() <= 0) { Time.Content = "00:00:00"; Percent.Content = "100%"; Weekend.Content = Date.GetWeekendPercent(); } }); }