using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Media; namespace FLY.ControlLibrary.Themes { public static class Styles { static List<SolidColorBrush> randomColors; public static List<SolidColorBrush> AreaColors; static Styles() { ResourceDictionary resourceDictionary = new ResourceDictionary() { Source = new Uri("pack://application:,,,/FLY.ControlLibrary;component/Themes/Colors.xaml") }; AreaColors = new List<SolidColorBrush>(); for (int i = 0; i < 5; i++) AreaColors.Add(resourceDictionary[$"AreaColors{i}"] as SolidColorBrush); randomColors = new List<SolidColorBrush>(); randomColors.AddRange(resourceDictionary["RandomColors"] as IEnumerable<SolidColorBrush>); //randomColors = new SolidColorBrush[] { // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#2195f2")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#f34336")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#fec007")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#607d8a")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#e81e63")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#4cae50")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#3f51b4")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#ccdb39")) //}; //AreaColors = new SolidColorBrush[] { // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#f34336")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#fec007")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#4cae50")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("#2195f2")), // new SolidColorBrush((Color)ColorConverter.ConvertFromString("DarkSlateBlue")) //}; } /// <summary> /// 获取随机颜色 /// </summary> /// <param name="index"></param> /// <returns></returns> public static Brush GetForeground(int index) { //XamlReader.Loadnew FileStream(@"C:\Users\wppcn\source\repos\网易云\网易云\Resourece\SvgImgResource.xaml", FileMode.Open)) as ResourceDictionary; //string assembleName = typeof(Styles).Assembly.GetName().Name;//本程序集名 //Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream($"{assembleName}.Themes.Styles.xaml");//获取嵌入资源生成流,XMLPATH为嵌入资源路径,资源名称访问路径为:assemblename.文件夹名.资源名 //XamlReader.Load(stream) as //IEnumerable<SolidColorBrush> randomColors = App.Current.FindResource("RandomColors") as IEnumerable<SolidColorBrush>; return randomColors.ElementAt(index % randomColors.Count()); } } }