diff --git a/System.Application.SteamTools.Client.Desktop.Avalonia.App/App.axaml.cs b/System.Application.SteamTools.Client.Desktop.Avalonia.App/App.axaml.cs
index 1818cbf64..f1a0b9807 100644
--- a/System.Application.SteamTools.Client.Desktop.Avalonia.App/App.axaml.cs
+++ b/System.Application.SteamTools.Client.Desktop.Avalonia.App/App.axaml.cs
@@ -21,6 +21,7 @@ using System.Windows.Input;
using System.Linq;
using System.Application.Models.Settings;
using System.Application.UI.Resx;
+using System.Application.Models;
#if WINDOWS
using System.Windows.Shell;
using WpfApplication = System.Windows.Application;
@@ -40,9 +41,8 @@ namespace System.Application.UI
[Obsolete("use AppHelper.ProgramName", true)]
public string ProgramName => AppHelper.ProgramName;
- bool mTheme;
-
- public bool Theme
+ AppTheme mTheme;
+ public AppTheme Theme
{
get
{
@@ -51,10 +51,25 @@ namespace System.Application.UI
set
{
if (value == mTheme) return;
-
- var mode = value ? FluentThemeMode.Light : FluentThemeMode.Dark;
- var uri_0 = new Uri($"avares://Avalonia.Themes.Fluent/Fluent{(value ? "Light" : "Dark")}.xaml");
- var uri_1 = new Uri($"avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Theme{(value ? "Light" : "Dark")}.xaml");
+ var the = "Dark";
+ var mode = FluentThemeMode.Dark;
+ switch (value)
+ {
+ case AppTheme.Light:
+ the = "Light";
+ mode = mode = FluentThemeMode.Light;
+ break;
+ case AppTheme.Dark:
+ the = "Dark";
+ mode = mode = FluentThemeMode.Dark;
+ break;
+ default:
+ the = "Dark";
+ mode = mode = FluentThemeMode.Dark;
+ break;
+ }
+ var uri_0 = new Uri($"avares://Avalonia.Themes.Fluent/Fluent{the}.xaml");
+ var uri_1 = new Uri($"avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Theme{the}.xaml");
Styles[0] = new FluentTheme(uri_0)
{
@@ -86,6 +101,7 @@ namespace System.Application.UI
SettingsHost.Load();
compositeDisposable.Add(SettingsHost.Save);
+ UISettings.Theme.Subscribe(x => Theme = (AppTheme)x);
UISettings.Language.Subscribe(x => R.ChangeLanguage(x));
#endregion
@@ -138,12 +154,12 @@ namespace System.Application.UI
mNotifyIconMenus.Add("Light", ReactiveCommand.Create(() =>
{
- Theme = true;
+ Theme = AppTheme.Light;
}));
mNotifyIconMenus.Add("Dark", ReactiveCommand.Create(() =>
{
- Theme = false;
+ Theme = AppTheme.Dark;
}));
mNotifyIconMenus.Add("Show",
diff --git a/System.Application.SteamTools.Client.Desktop.Avalonia.App/System.Application.SteamTools.Client.Desktop.Avalonia.App.csproj b/System.Application.SteamTools.Client.Desktop.Avalonia.App/System.Application.SteamTools.Client.Desktop.Avalonia.App.csproj
index 78d113417..d676264b2 100644
--- a/System.Application.SteamTools.Client.Desktop.Avalonia.App/System.Application.SteamTools.Client.Desktop.Avalonia.App.csproj
+++ b/System.Application.SteamTools.Client.Desktop.Avalonia.App/System.Application.SteamTools.Client.Desktop.Avalonia.App.csproj
@@ -35,21 +35,21 @@
-
-
-
+
+
+
-
+
-
+
-
+