public void FocusLast(WindowType activatedWindowType) { System.Windows.Application.Current.Dispatcher.Invoke(new Action(() => { if (openWindows.Count > 0) { var windowType = openWindows.Last(); if (windowType != activatedWindowType) { if (windowType == WindowType.AddFieldWindow) { addFieldWindow.Activate(); } else if (windowType == WindowType.PickupWindow) { if (pickupWindow != null) { pickupWindow.Activate(); } } else if (windowType == WindowType.LoadingWindow) { loadingWindow.Activate(); } else if (windowType == WindowType.LoadingIncorrectModuleWindow) { loadingIncorrectModuleWindow.Activate(); } else if (windowType == WindowType.WaitingForUnloadWindow) { waitingForUnloadWindow.Activate(); } else if (windowType == WindowType.UnloadCorrectionWindow) { unloadCorrectionWindow.Activate(); } else if (windowType == WindowType.ChangeListWindow) { changeFieldWindow.Activate(); } else if (windowType == WindowType.LoadingAtGin) { loadingAtGinWindow.Activate(); } else if (windowType == WindowType.UnloadingAtGin) { unloadingAtGinWindow.Activate(); } else if (windowType == WindowType.TruckSetupWindow) { firstRunWindow.Activate(); } } } })); }