#pragma warning disable CA1801 // Review unused parameters public BaseColorSchemeSwitcherWithIconViewModel(IServiceLocator serviceLocator, IBaseColorSchemeService baseColorSchemeService) #pragma warning restore CA1801 // Review unused parameters { Argument.IsNotNull(() => serviceLocator); Argument.IsNotNull(() => baseColorSchemeService); _serviceLocator = serviceLocator; _baseColorSchemeService = baseColorSchemeService; var baseColorSchemes = new List <BaseColorScheme>(); foreach (var baseColorSchemeFromService in _baseColorSchemeService.GetAvailableBaseColorSchemes()) { var baseColorScheme = new BaseColorScheme { Name = baseColorSchemeFromService, ImageUri = $"/Orc.Theming;component/Resources/Images/BaseColor_{baseColorSchemeFromService}.png" }; baseColorSchemes.Add(baseColorScheme); } BaseColorSchemes = baseColorSchemes; var selected = _baseColorSchemeService.GetBaseColorScheme() ?? BaseColorSchemes[0].Name; SelectedBaseColorScheme = BaseColorSchemes.FirstOrDefault(x => x.Name == selected); }
#pragma warning disable CA1801 // Review unused parameters public BaseColorSchemeSwitcherViewModel(IBaseColorSchemeService baseColorSchemeService) #pragma warning restore CA1801 // Review unused parameters { Argument.IsNotNull(() => baseColorSchemeService); _baseColorSchemeService = baseColorSchemeService; BaseColorSchemes = _baseColorSchemeService.GetAvailableBaseColorSchemes(); SelectedBaseColorScheme = _baseColorSchemeService.GetBaseColorScheme() ?? BaseColorSchemes[0]; }
public virtual ThemeInfo GetThemeInfo() { var accentColor = _accentColorService.GetAccentColor(); var themeInfo = new ThemeInfo { BaseColorScheme = _baseColorSchemeService.GetBaseColorScheme(), AccentBaseColor = accentColor, HighlightColor = accentColor }; return(themeInfo); }
public ThemeSwitcherViewModel(IAccentColorService accentColorService, IBaseColorSchemeService baseColorSchemeService) { Argument.IsNotNull(() => accentColorService); Argument.IsNotNull(() => baseColorSchemeService); _accentColorService = accentColorService; _baseColorSchemeService = baseColorSchemeService; AccentColors = typeof(Colors).GetPropertiesEx(true, true) .Where(x => x.PropertyType.IsAssignableFromEx(typeof(Color))) .Select(x => (Color)x.GetValue(null)) .ToList(); BaseColorSchemes = _baseColorSchemeService.GetAvailableBaseColorSchemes(); SelectedBaseColorScheme = _baseColorSchemeService.GetBaseColorScheme() ?? BaseColorSchemes[0]; }
public virtual void SynchronizeTheme() { Log.Debug("Synchronizing theme"); EnsureOrchestraTheme(false); var themeGenerator = ControlzEx.Theming.RuntimeThemeGenerator.Current; var generatedTheme = themeGenerator.GenerateRuntimeTheme(_baseColorSchemeService.GetBaseColorScheme(), _accentColorService.GetAccentColor()); if (generatedTheme is null) { throw Log.ErrorAndCreateException <InvalidOperationException>($"Failed to generate runtime theme"); } ChangeTheme(generatedTheme); }
public virtual void SynchronizeTheme() { Log.Debug("Synchronizing theme"); var themeGenerator = RuntimeThemeGenerator.Current; themeGenerator.Options.UseHSL = false; var generatedTheme = themeGenerator.GenerateRuntimeTheme(_baseColorSchemeService.GetBaseColorScheme(), _accentColorService.GetAccentColor()); if (generatedTheme is null) { throw Log.ErrorAndCreateException <InvalidOperationException>("Failed to generate runtime theme"); } ChangeTheme(generatedTheme); }
private void UpdateSource() { if (_image is null) { return; } var finalSource = Source; if (finalSource is not null) { var ready = false; var baseColorScheme = _baseColorSchemeService.GetBaseColorScheme()?.ToLower() ?? string.Empty; // Step 1: replace fixed item var index = finalSource.IndexOfIgnoreCase(BaseColorScheme); if (index >= 0) { finalSource = finalSource.Remove(index, BaseColorScheme.Length); finalSource = finalSource.Insert(index, baseColorScheme); ready = true; } // Step 2: if we haven't replaced, auto replace if (!ready) { var lastDotIndex = finalSource.LastIndexOf('.'); if (lastDotIndex >= 0) { finalSource = finalSource.Insert(lastDotIndex, $".{baseColorScheme}"); } } } ImageSource imageSource = null; if (finalSource is not null) { imageSource = new BitmapImage(new Uri(finalSource, UriKind.RelativeOrAbsolute)); } _image.SetCurrentValue(Image.SourceProperty, imageSource); }
private void OnBaseColorSchemeServiceBaseColorSchemeChanged(object sender, EventArgs e) { SelectedBaseColorScheme = _baseColorSchemeService.GetBaseColorScheme(); }
private void OnBaseColorSchemeServiceBaseColorSchemeChanged(object sender, EventArgs e) { var newlySelected = _baseColorSchemeService.GetBaseColorScheme(); SelectedBaseColorScheme = BaseColorSchemes.FirstOrDefault(x => x.Name == newlySelected); }