codebehind:
public partial class MainWindow : Window
{
private readonly PaletteHelper _paletteHelper = new PaletteHelper();
bool isDark;
public MainWindow()
{
InitializeComponent();
}
public static IEnumerable SortByLength(IEnumerable e)
{
var sorted = from s in e
orderby s.Length ascending
select s;
return sorted;
}
private void MyColorPicker1_PreviewMouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
ITheme theme = _paletteHelper.GetTheme();
theme.SetPrimaryColor(Color.FromRgb(MyColorPicker1.Color.R, MyColorPicker1.Color.G, MyColorPicker1.Color.B)); //red
var Test = theme.GetBaseTheme();
SaverTheme(MyColorPicker1.Color.R, MyColorPicker1.Color.G, MyColorPicker1.Color.B);
_paletteHelper.SetTheme(theme);
}
}
public List MyList = new List();
private void SaverTheme(byte r, byte g, byte b)
{
Theme myTheme = new() { MR = r.ToString(), MG = g.ToString(), MB = b.ToString() };
MyList.Add(myTheme);
string rawJson = System.Text.Json.JsonSerializer.Serialize(MyList);
File.WriteAllText("C:\\...\\Theme.txt", rawJson);
}
private void ThemeActivationsBtn_Click(object sender, RoutedEventArgs e)
{
isDark = (bool)ThemeActivationsBtn.IsChecked;
if (isDark)
{
ITheme theme = _paletteHelper.GetTheme();
IBaseTheme baseTheme = isDark ? new MaterialDesignDarkTheme() : (IBaseTheme)new MaterialDesignLightTheme();
theme.SetBaseTheme(baseTheme);
_paletteHelper.SetTheme(theme);
}
else
{
ITheme theme = _paletteHelper.GetTheme();
IBaseTheme baseTheme = isDark ? new MaterialDesignDarkTheme() : (IBaseTheme)new MaterialDesignLightTheme();
theme.SetBaseTheme(baseTheme);
_paletteHelper.SetTheme(theme);
}
}
private void SaverThemy_Click(object sender, RoutedEventArgs e)
{
Process.Start(new ProcessStartInfo { FileName = @"C:\...\Theme.txt", UseShellExecute = true });
}
}
public class Theme
{
public string MR { get; set; }
public string MG { get; set; }
public string MB { get; set; }
}