feat: add RegisterFollowSystemTheme extension.

This commit is contained in:
Zhang Dian
2025-01-07 12:41:51 +08:00
parent af6c52660d
commit ea51867f0f
3 changed files with 81 additions and 39 deletions

View File

@@ -1,10 +1,7 @@
using System.Runtime.InteropServices;
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Data.Core.Plugins;
using Avalonia.Markup.Xaml;
using Avalonia.Media;
using Avalonia.Platform;
using Semi.Avalonia.Demo.Views;
namespace Semi.Avalonia.Demo;
@@ -31,30 +28,7 @@ public partial class App : Application
break;
}
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
var setting = PlatformSettings?.GetColorValues();
if (setting?.ContrastPreference is ColorContrastPreference.High)
{
if (setting.AccentColor1 == Color.Parse("#8EE3F0"))
{
RequestedThemeVariant = SemiTheme.Aquatic;
}
else if (setting.AccentColor1 == Color.Parse("#903909"))
{
RequestedThemeVariant = SemiTheme.Desert;
}
else if (setting.AccentColor1 == Color.Parse("#A1BFDE"))
{
RequestedThemeVariant = SemiTheme.Dusk;
}
else if (setting.AccentColor1 == Color.Parse("#D6B4FD"))
{
RequestedThemeVariant = SemiTheme.NightSky;
}
}
}
this.RegisterFollowSystemTheme();
base.OnFrameworkInitializationCompleted();
}
}