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); }
}