using CommunityToolkit.Mvvm.ComponentModel; namespace YZWater.Core.Services; /// /// 主题切换服务(纯状态管理,不依赖 Avalonia) /// public partial class ThemeService : ObservableObject { private static ThemeService? _instance; public static ThemeService Instance => _instance ??= new ThemeService(); [ObservableProperty] private bool _isDarkTheme = true; /// /// 主题变更事件(由 App.axaml.cs 订阅执行实际切换) /// public event Action? ThemeChanged; private ThemeService() { } /// /// 切换主题 /// public void ToggleTheme() { IsDarkTheme = !IsDarkTheme; ThemeChanged?.Invoke(); } }