private async void Button_Click(object sender, RoutedEventArgs e) { string text = "Export failed"; try { var paletteModel = new ControlPaletteModel(); await paletteModel.InitializeData("ms-appx:///demodata.json"); var item = new ControlPaletteViewModel(paletteModel); await item.LoadData(); text = await item.ExportAsync(); } catch (Exception ex) { text += $"\n{ex}"; } ResultTextBlock.Text = text; }
public string GenerateExportData(IControlPaletteModel model, ControlPaletteViewModel viewModel, bool showAllColors = false) { StringBuilder sb = new StringBuilder(); sb.AppendLine("<!-- Free Public License 1.0.0 Permission to use, copy, modify, and/or distribute this code for any purpose with or without fee is hereby granted. -->"); sb.AppendLine("<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\""); sb.AppendLine(" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\""); sb.AppendLine(" xmlns:Windows10version1809=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract, 7)\""); sb.AppendLine(" xmlns:BelowWindows10version1809=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractNotPresent(Windows.Foundation.UniversalApiContract, 7)\">"); sb.AppendLine(" <ResourceDictionary.ThemeDictionaries>"); sb.AppendLine(" <ResourceDictionary x:Key=\"Default\">"); sb.AppendLine(" <ResourceDictionary.MergedDictionaries>"); sb.Append(" <Windows10version1809:ColorPaletteResources"); if (model.DarkColorMapping != null) { foreach (var m in model.DarkColorMapping) { sb.Append(" "); sb.Append(m.Target.ToString()); sb.Append("=\""); sb.Append(m.Source.ActiveColor.ToString()); sb.Append("\""); } } sb.AppendLine(" />"); sb.AppendLine(" <ResourceDictionary>"); if (model.DarkColorMapping != null) { foreach (var m in model.DarkColorMapping) { sb.AppendLine($" <BelowWindows10version1809:Color x:Key=\"System{m.Target.ToString()}Color\">{m.Source.ActiveColor.ToString()}</BelowWindows10version1809:Color>"); } } Windows.UI.Color ChromeAltMediumHigh = model.DarkRegion.ActiveColor; ChromeAltMediumHigh.A = 204; sb.AppendLine(string.Format(" <Color x:Key=\"SystemChromeAltMediumHighColor\">{0}</Color>", ChromeAltMediumHigh.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemChromeAltHighColor\">{0}</Color>", model.DarkBase.Palette[5].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemRevealListLowColor\">{0}</Color>", model.DarkBase.Palette[8].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemRevealListMediumColor\">{0}</Color>", model.DarkBase.Palette[5].ActiveColor.ToString())); sb.AppendLine(" <AcrylicBrush x:Key=\"SystemControlAcrylicWindowBrush\" BackgroundSource=\"HostBackdrop\" TintColor=\"{ThemeResource SystemChromeAltHighColor}\" TintOpacity=\"0.8\" FallbackColor=\"{ThemeResource SystemChromeMediumColor}\" />"); sb.AppendLine(" <!-- Override system generated accent colors -->"); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorDark1\">{0}</Color>", model.DarkPrimary.Palette[4].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorDark2\">{0}</Color>", model.DarkPrimary.Palette[3].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorDark3\">{0}</Color>", model.DarkPrimary.Palette[2].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorLight1\">{0}</Color>", model.DarkPrimary.Palette[6].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorLight2\">{0}</Color>", model.DarkPrimary.Palette[7].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorLight3\">{0}</Color>", model.DarkPrimary.Palette[8].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"RegionColor\">{0}</Color>", model.DarkRegion.ActiveColor.ToString())); sb.AppendLine(" <SolidColorBrush x:Key=\"RegionBrush\" Color=\"{StaticResource RegionColor}\" />"); sb.AppendLine(string.Format(" <Color x:Key=\"BaseColor\">{0}</Color>", model.DarkBase.BaseColor.ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette000Color\">{0}</Color>", model.DarkBase.Palette[0].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette100Color\">{0}</Color>", model.DarkBase.Palette[1].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette200Color\">{0}</Color>", model.DarkBase.Palette[2].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette300Color\">{0}</Color>", model.DarkBase.Palette[3].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette400Color\">{0}</Color>", model.DarkBase.Palette[4].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette500Color\">{0}</Color>", model.DarkBase.Palette[5].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette600Color\">{0}</Color>", model.DarkBase.Palette[6].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette700Color\">{0}</Color>", model.DarkBase.Palette[7].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette800Color\">{0}</Color>", model.DarkBase.Palette[8].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette900Color\">{0}</Color>", model.DarkBase.Palette[9].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette1000Color\">{0}</Color>", model.DarkBase.Palette[10].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryColor\">{0}</Color>", model.DarkPrimary.BaseColor.ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette000Color\">{0}</Color>", model.DarkPrimary.Palette[0].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette100Color\">{0}</Color>", model.DarkPrimary.Palette[1].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette200Color\">{0}</Color>", model.DarkPrimary.Palette[2].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette300Color\">{0}</Color>", model.DarkPrimary.Palette[3].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette400Color\">{0}</Color>", model.DarkPrimary.Palette[4].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette500Color\">{0}</Color>", model.DarkPrimary.Palette[5].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette600Color\">{0}</Color>", model.DarkPrimary.Palette[6].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette700Color\">{0}</Color>", model.DarkPrimary.Palette[7].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette800Color\">{0}</Color>", model.DarkPrimary.Palette[8].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette900Color\">{0}</Color>", model.DarkPrimary.Palette[9].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette1000Color\">{0}</Color>", model.DarkPrimary.Palette[10].ActiveColor.ToString())); sb.AppendLine(" <SolidColorBrush x:Key=\"BaseBrush\" Color=\"{StaticResource BaseColor}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette000Brush\" Color=\"{StaticResource BasePalette000Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette100Brush\" Color=\"{StaticResource BasePalette100Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette200Brush\" Color=\"{StaticResource BasePalette200Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette300Brush\" Color=\"{StaticResource BasePalette300Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette400Brush\" Color=\"{StaticResource BasePalette400Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette500Brush\" Color=\"{StaticResource BasePalette500Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette600Brush\" Color=\"{StaticResource BasePalette600Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette700Brush\" Color=\"{StaticResource BasePalette700Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette800Brush\" Color=\"{StaticResource BasePalette800Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette900Brush\" Color=\"{StaticResource BasePalette900Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette1000Brush\" Color=\"{StaticResource BasePalette1000Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette000Brush\" Color=\"{StaticResource PrimaryPalette000Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette100Brush\" Color=\"{StaticResource PrimaryPalette100Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette200Brush\" Color=\"{StaticResource PrimaryPalette200Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette300Brush\" Color=\"{StaticResource PrimaryPalette300Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette400Brush\" Color=\"{StaticResource PrimaryPalette400Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette500Brush\" Color=\"{StaticResource PrimaryPalette500Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette600Brush\" Color=\"{StaticResource PrimaryPalette600Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette700Brush\" Color=\"{StaticResource PrimaryPalette700Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette800Brush\" Color=\"{StaticResource PrimaryPalette800Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette900Brush\" Color=\"{StaticResource PrimaryPalette900Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette1000Brush\" Color=\"{StaticResource PrimaryPalette1000Color}\" />"); // Files stuff goes here sb.AppendLine(" <!-- Files-specific overrides -->"); sb.AppendLine(string.Format(" <Color x:Key=\"SolidBackgroundFillColorBase\">{0}</Color>", model.DarkRegion.ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SolidBackgroundFillColorSecondary\">{0}</Color>", model.DarkBase.Palette[8].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SolidBackgroundFillColorTertiary\">{0}</Color>", model.DarkBase.Palette[9].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SolidBackgroundFillColorQuarternary\">{0}</Color>", model.DarkBase.Palette[10].ActiveColor.ToString())); sb.AppendLine(" <SolidColorBrush x:Key=\"ApplicationPageBackgroundThemeBrush\" Color=\"{StaticResource RegionColor}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"SolidBackgroundFillColorBaseBrush\" Color=\"{StaticResource RegionColor}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"SolidBackgroundFillColorSecondaryBrush\" Color=\"{StaticResource BasePalette100Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"SolidBackgroundFillColorTertiaryBrush\" Color=\"{StaticResource BasePalette200Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"SolidBackgroundFillColorQuarternaryBrush\" Color=\"{StaticResource BasePalette300Color}\" />"); sb.AppendLine(" </ResourceDictionary>"); sb.AppendLine(" </ResourceDictionary.MergedDictionaries>"); sb.AppendLine(" </ResourceDictionary>"); sb.AppendLine(" <ResourceDictionary x:Key=\"Light\">"); sb.AppendLine(" <ResourceDictionary.MergedDictionaries>"); sb.Append(" <Windows10version1809:ColorPaletteResources"); if (model.LightColorMapping != null) { foreach (var m in model.LightColorMapping) { sb.Append(" "); sb.Append(m.Target.ToString()); sb.Append("=\""); sb.Append(m.Source.ActiveColor.ToString()); sb.Append("\""); } } sb.AppendLine(" />"); sb.AppendLine(" <ResourceDictionary>"); if (model.DarkColorMapping != null) { foreach (var m in model.LightColorMapping) { sb.AppendLine($" <BelowWindows10version1809:Color x:Key=\"System{m.Target.ToString()}Color\">{m.Source.ActiveColor.ToString()}</BelowWindows10version1809:Color>"); } } ChromeAltMediumHigh = model.LightRegion.ActiveColor; ChromeAltMediumHigh.A = 204; sb.AppendLine(string.Format(" <Color x:Key=\"SystemChromeAltMediumHighColor\">{0}</Color>", ChromeAltMediumHigh.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemChromeAltHighColor\">{0}</Color>", model.LightBase.Palette[5].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemRevealListLowColor\">{0}</Color>", model.LightBase.Palette[1].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemRevealListMediumColor\">{0}</Color>", model.LightBase.Palette[5].ActiveColor.ToString())); sb.AppendLine(" <AcrylicBrush x:Key=\"SystemControlAcrylicWindowBrush\" BackgroundSource=\"HostBackdrop\" TintColor=\"{ThemeResource SystemChromeAltHighColor}\" TintOpacity=\"0.8\" FallbackColor=\"{ThemeResource SystemChromeMediumColor}\" />"); sb.AppendLine(" <!-- Override system generated accent colors -->"); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorLight1\">{0}</Color>", model.LightPrimary.Palette[4].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorLight2\">{0}</Color>", model.LightPrimary.Palette[3].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorLight3\">{0}</Color>", model.LightPrimary.Palette[2].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorDark1\">{0}</Color>", model.LightPrimary.Palette[6].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorDark2\">{0}</Color>", model.LightPrimary.Palette[7].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SystemAccentColorDark3\">{0}</Color>", model.LightPrimary.Palette[8].ActiveColor.ToString())); sb.AppendLine(" <RevealBackgroundBrush x:Key=\"SystemControlHighlightListLowRevealBackgroundBrush\" TargetTheme=\"Light\" Color=\"{ThemeResource SystemRevealListMediumColor}\" FallbackColor=\"{ StaticResource SystemListMediumColor}\" />"); sb.AppendLine(string.Format(" <Color x:Key=\"RegionColor\">{0}</Color>", model.LightRegion.ActiveColor.ToString())); sb.AppendLine(" <SolidColorBrush x:Key=\"RegionBrush\" Color=\"{StaticResource RegionColor}\" />"); sb.AppendLine(string.Format(" <Color x:Key=\"BaseColor\">{0}</Color>", model.LightBase.BaseColor.ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette000Color\">{0}</Color>", model.LightBase.Palette[0].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette100Color\">{0}</Color>", model.LightBase.Palette[1].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette200Color\">{0}</Color>", model.LightBase.Palette[2].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette300Color\">{0}</Color>", model.LightBase.Palette[3].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette400Color\">{0}</Color>", model.LightBase.Palette[4].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette500Color\">{0}</Color>", model.LightBase.Palette[5].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette600Color\">{0}</Color>", model.LightBase.Palette[6].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette700Color\">{0}</Color>", model.LightBase.Palette[7].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette800Color\">{0}</Color>", model.LightBase.Palette[8].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette900Color\">{0}</Color>", model.LightBase.Palette[9].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"BasePalette1000Color\">{0}</Color>", model.LightBase.Palette[10].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryColor\">{0}</Color>", model.LightPrimary.BaseColor.ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette000Color\">{0}</Color>", model.LightPrimary.Palette[0].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette100Color\">{0}</Color>", model.LightPrimary.Palette[1].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette200Color\">{0}</Color>", model.LightPrimary.Palette[2].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette300Color\">{0}</Color>", model.LightPrimary.Palette[3].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette400Color\">{0}</Color>", model.LightPrimary.Palette[4].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette500Color\">{0}</Color>", model.LightPrimary.Palette[5].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette600Color\">{0}</Color>", model.LightPrimary.Palette[6].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette700Color\">{0}</Color>", model.LightPrimary.Palette[7].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette800Color\">{0}</Color>", model.LightPrimary.Palette[8].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette900Color\">{0}</Color>", model.LightPrimary.Palette[9].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"PrimaryPalette1000Color\">{0}</Color>", model.LightPrimary.Palette[10].ActiveColor.ToString())); sb.AppendLine(" <SolidColorBrush x:Key=\"BaseBrush\" Color=\"{StaticResource BaseColor}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette000Brush\" Color=\"{StaticResource BasePalette000Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette100Brush\" Color=\"{StaticResource BasePalette100Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette200Brush\" Color=\"{StaticResource BasePalette200Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette300Brush\" Color=\"{StaticResource BasePalette300Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette400Brush\" Color=\"{StaticResource BasePalette400Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette500Brush\" Color=\"{StaticResource BasePalette500Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette600Brush\" Color=\"{StaticResource BasePalette600Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette700Brush\" Color=\"{StaticResource BasePalette700Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette800Brush\" Color=\"{StaticResource BasePalette800Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette900Brush\" Color=\"{StaticResource BasePalette900Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"BasePalette1000Brush\" Color=\"{StaticResource BasePalette1000Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette000Brush\" Color=\"{StaticResource PrimaryPalette000Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette100Brush\" Color=\"{StaticResource PrimaryPalette100Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette200Brush\" Color=\"{StaticResource PrimaryPalette200Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette300Brush\" Color=\"{StaticResource PrimaryPalette300Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette400Brush\" Color=\"{StaticResource PrimaryPalette400Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette500Brush\" Color=\"{StaticResource PrimaryPalette500Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette600Brush\" Color=\"{StaticResource PrimaryPalette600Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette700Brush\" Color=\"{StaticResource PrimaryPalette700Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette800Brush\" Color=\"{StaticResource PrimaryPalette800Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette900Brush\" Color=\"{StaticResource PrimaryPalette900Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"PrimaryPalette1000Brush\" Color=\"{StaticResource PrimaryPalette1000Color}\" />"); // Files stuff goes here sb.AppendLine(" <!-- Files-specific overrides -->"); sb.AppendLine(string.Format(" <Color x:Key=\"SolidBackgroundFillColorBase\">{0}</Color>", model.LightRegion.ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SolidBackgroundFillColorSecondary\">{0}</Color>", model.LightBase.Palette[1].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SolidBackgroundFillColorTertiary\">{0}</Color>", model.LightBase.Palette[2].ActiveColor.ToString())); sb.AppendLine(string.Format(" <Color x:Key=\"SolidBackgroundFillColorQuarternary\">{0}</Color>", model.LightBase.Palette[3].ActiveColor.ToString())); sb.AppendLine(" <SolidColorBrush x:Key=\"ApplicationPageBackgroundThemeBrush\" Color=\"{StaticResource BasePalette000Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"SolidBackgroundFillColorBaseBrush\" Color=\"{StaticResource BasePalette000Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"SolidBackgroundFillColorSecondaryBrush\" Color=\"{StaticResource BasePalette100Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"SolidBackgroundFillColorTertiaryBrush\" Color=\"{StaticResource BasePalette200Color}\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"SolidBackgroundFillColorQuarternaryBrush\" Color=\"{StaticResource BasePalette300Color}\" />"); sb.AppendLine(" </ResourceDictionary>"); sb.AppendLine(" </ResourceDictionary.MergedDictionaries>"); sb.AppendLine(" </ResourceDictionary>"); sb.AppendLine(" <ResourceDictionary x:Key=\"HighContrast\">"); sb.AppendLine(" <StaticResource x:Key=\"RegionColor\" ResourceKey=\"SystemColorWindowColor\" />"); sb.AppendLine(" <SolidColorBrush x:Key=\"RegionBrush\" Color=\"{StaticResource RegionColor}\" />"); sb.AppendLine(" </ResourceDictionary>"); sb.AppendLine(" </ResourceDictionary.ThemeDictionaries>"); sb.AppendLine("</ResourceDictionary>"); var retVal = sb.ToString(); return(retVal); }