/// <summary> /// Initialize everything /// </summary> /// <param name="viewModel"></param> protected void SetUp(MainWindowViewModel viewModel = null) { instance = this; ViewModel = viewModel ?? new MainWindowViewModel(); // Initialize Properties TimeBlocks = new List <TextBlock>(); DateBlocks = new List <TextBlock>(); ConversionBlocks = new List <TextBlock>(); UpdateDisplay = new DispatcherTimer() { Interval = new TimeSpan(0, 0, 2) }; // Configure Settings SettingsHolder.Navigate(ViewModel.SettingsPage); // Wire up events ViewModel.PropertyChanged += (o, e) => PropertyChanged(e.PropertyName); ViewModel.TriggerUpdate(); UpdateDisplay.Tick += (o, e) => UpdateClocks(); UpdateDisplay.Start(); }