using System.Windows.Markup; namespace AntDesignWPF.Appearance; /// /// 提供一个字典实现,其中包含组件和其他设备使用的主题资源。 /// [Localizability(LocalizationCategory.Ignore)] [Ambient] [UsableDuringInitialization(true)] public class ThemesDictionary : ResourceDictionary { public ThemesDictionary() { SetSourceBasedOnSelectedTheme(ThemeMode.Light); } private void SetSourceBasedOnSelectedTheme(ThemeMode? selectedApplicationTheme) { var themeName = selectedApplicationTheme switch { ThemeMode.Light => "Light", ThemeMode.Dark => "Dark", _ => "Light", }; Source = new Uri($"{ThemeManager.ThemesDictionaryPath}{themeName}.xaml", UriKind.Absolute); } /// /// 设置默认应用程序主题。 /// public ThemeMode Theme { set => SetSourceBasedOnSelectedTheme(value); } }