Exemple #1
0
 public ThemeManager(IDependencyInjector container, IEnumerable <IThemeMeta> metas, ThemeManagerSettings settings)
 {
     _container = container;
     _settings  = settings;
     Themes     = metas;
     RegisterThemes(container);
     RegisterThemeSettings(container);
     RegisterThemeSettingsWindows(container);
     ActiveTheme = GetActiveTheme();
 }
Exemple #2
0
        public ThemeManagerSettingWindow(IThemeManager themeManager, ThemeManagerSettings settings, ISettingManager manager, ISettings globalSettings)
        {
            var themes = themeManager;

            _settings       = settings;
            _manager        = manager;
            _globalSettings = globalSettings;

            _globalSettings.PropertyChanged += GlobalSettings_PropertyChanged;

            _settings.DeferChanges();

            InitializeComponent();

            foreach (var themeMeta in themes.Themes)
            {
                var selectedTheme = settings.SelectedTheme == themeMeta.Title;
                var cb            = new ComboBoxItem
                {
                    IsSelected = selectedTheme,
                    Content    = themeMeta.Title
                };

                ThemeList.Items.Add(cb);
            }

            if (themes.ActiveTheme.SettingEditWindow != null)
            {
                SettingPage.Children.Clear();
                SettingPage.Children.Add((UserControl)themes.ResolveSettingWindow(themes.ActiveTheme));
            }

            ThemeList.SelectionChanged += ThemeList_SelectionChanged;

            Unloaded += ThemeManagerSettingWindow_Unloaded;
        }