WPF,Mahapps,经理,如何将“重音”转换为“ColorHex”?

WPF,Mahapps,经理,如何将“重音”转换为“ColorHex”?,wpf,colors,mahapps.metro,Wpf,Colors,Mahapps.metro,我想从MahApps.Metro.Accent获取System.Windows.Media.Color。为了实现这一点,我尝试了: MahApps.Metro.ThemeManager.ChangeAppStyle(Application.Current, MahApps.Metro.ThemeManager.GetAccent("Green"), MahApps.Metro.ThemeManag

我想从MahApps.Metro.Accent获取System.Windows.Media.Color。为了实现这一点,我尝试了:

MahApps.Metro.ThemeManager.ChangeAppStyle(Application.Current,
                         MahApps.Metro.ThemeManager.GetAccent("Green"),
                         MahApps.Metro.ThemeManager.GetAppTheme("BaseLight"));

// var == Tuple<MahApps.Metro.AppTheme, MahApps.Metro.Accent>
var AppStyle = MahApps.Metro.ThemeManager.DetectAppStyle(Application.Current);
Color CurrentColor = (Color)ColorConverter.ConvertFromString(AppStyle.Item2.Name);

那么“Green”的MahApps.Metro.Accent的实际十六进制颜色是FF548E17,而CurrentColor的十六进制颜色是FF008000。是否有任何方法可以在代码隐藏中获取FF548E17?

您可以使用

// <Color x:Key="AccentColor">#CC60A917</Color>
Color accentColor = (Color)ThemeManager.GetAccent("Green").Resources["AccentColor"];
希望这有帮助

Color currentAccentColor = (Color)ThemeManager.DetectAppStyle(Application.Current).Item2.Resources["AccentColor"];