using BackupEssentials.Pages; using BackupEssentials.Utils; using System; using System.Collections.Generic; using System.Windows.Controls; namespace BackupEssentials{ static class AppPageManager{ private static Dictionary<Type,Page> cached = new Dictionary<Type,Page>(); public static T GetPage<T>() where T : Page, new(){ if (cached.ContainsKey(typeof(T)))return (T)cached[typeof(T)]; T page = new T(); cached[typeof(T)] = page; return page; } public static Page GetPage(Type type){ if (cached.ContainsKey(type))return cached[type]; Page page = (Page)Activator.CreateInstance(type); cached[type] = page; return page; } public static void ResetUI(){ App.Current.MainWindow.UpdateBindings(); foreach(Page page in cached.Values){ page.UpdateBindings(); IPageResetUI reset = page as IPageResetUI; if (reset != null)reset.OnReset(); } } } }