2017-10-16 23 views
0

我想从MahApps.Metro.Accent获得System.Windows.Media.Color要做到这一点,我想:WPF,Mahapps,ThemeManager,如何'口音转换”成‘ColorHex’

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

然后实际的十六进制颜色的MahApps.Metro.Accent'Green'#FF548E17CurrentColor的十六进制颜色是#FF008000。有没有什么方法来获得#FF548E17在后面的代码?

回答

1

你可以从任何口音资源的颜色与

// <Color x:Key="AccentColor">#CC60A917</Color> 
Color accentColor = (Color)ThemeManager.GetAccent("Green").Resources["AccentColor"]; 

,如果你想知道当前选择强调色

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

希望这有助于一样!