Esempio n. 1
0
 public override void Commit()
 {
     // Manually commit
     MetroConfiguration.CommitTransaction();
     _metroWindowManager.ChangeTheme(MetroConfiguration.Theme);
     _metroWindowManager.ChangeThemeAccent(MetroConfiguration.ThemeAccent);
 }
Esempio n. 2
0
        public override void Commit()
        {
            // Manually commit
            MetroConfiguration.CommitTransaction();
            MetroWindowManager.ChangeTheme(MetroConfiguration.Theme);
            MetroWindowManager.ChangeThemeAccent(MetroConfiguration.ThemeAccent);

            CoreConfiguration.CommitTransaction();
            Execute.OnUIThread(async() => { await LanguageLoader.Current.ChangeLanguageAsync(CoreConfiguration.Language).ConfigureAwait(false); });
        }
Esempio n. 3
0
        /// <inheritdoc />
        public override void Initialize(IConfig config)
        {
            // Prepare disposables
            _disposables?.Dispose();
            _disposables = new CompositeDisposable();

            AvailableThemes.Clear();
            foreach (var theme in MetroThemeManager.AvailableThemes)
            {
                AvailableThemes.Add(theme);
            }
            foreach (var themeColor in MetroThemeManager.AvailableThemeColors)
            {
                AvailableThemeColors.Add(themeColor);
            }

            // Place this under the Ui parent
            ParentId = "Ui";

            // Make sure Commit/Rollback is called on the UiConfiguration
            config.Register(MetroConfiguration);

            // automatically update the DisplayName
            _disposables.Add(UiTranslations.CreateDisplayNameBinding(this, nameof(IUiTranslations.Theme)));

            // Automatically show theme changes
            _disposables.Add(
                MetroConfiguration.OnPropertyChanging(nameof(MetroConfiguration.Theme)).Subscribe(args =>
            {
                if (args is PropertyChangingEventArgsEx propertyChangingEventArgsEx)
                {
                    _metroThemeManager.ChangeTheme(propertyChangingEventArgsEx.NewValue as string, null);
                }
            })
                );
            _disposables.Add(
                MetroConfiguration.OnPropertyChanging(nameof(MetroConfiguration.ThemeColor)).Subscribe(args =>
            {
                if (args is PropertyChangingEventArgsEx propertyChangingEventArgsEx)
                {
                    _metroThemeManager.ChangeTheme(null, propertyChangingEventArgsEx.NewValue as string);
                }
            })
                );
            base.Initialize(config);
        }
Esempio n. 4
0
 /// <inheritdoc />
 public override void Terminate()
 {
     MetroConfiguration.RollbackTransaction();
     _metroThemeManager.ChangeTheme(MetroConfiguration.Theme, MetroConfiguration.ThemeColor);
 }
Esempio n. 5
0
 public override void Commit()
 {
     _metroThemeManager.ChangeTheme(MetroConfiguration.Theme, MetroConfiguration.ThemeColor);
     // Manually commit
     MetroConfiguration.CommitTransaction();
 }