我正在使用字符串数组来索引颜色。
string[] fore {"Colors.Yellow","Colors.Red","Colors.Blue","Colors.White","Colors.Green"};
int sIndex = rnd.Next(fore.Length);
textblock.Foreground = new SolidColorBrush(fore[sIndex]);
但它给出了无效的参数错误? 怎么办?
答案 0 :(得分:1)
好,因为fore[sIndex]
是string
,看起来像SolidColorBrush
没有构造函数需要string
作为参数。但是it has a constructor that takes Color
作为参数。
您可以将其更改为Color
数组而不是string
数组。
Color[] fore = new[] { Color.Yellow, Color.Red, Color.Blue, Color.White, Color.Green };
int sIndex = rnd.Next(fore.Length);
textblock.Foreground = new SolidColorBrush(fore[sIndex]);
答案 1 :(得分:1)
您在SolidColorBrush构造函数中放入一个字符串。我认为它需要一个Color对象。尝试制作一个Color []而不是字符串数组:
Color[] fore= {Color.Yellow,Color.Red,Color.Blue,Color.White,Color.Green };
int sIndex = rnd.Next(fore.Length);
textblock.Foreground = new SolidColorBrush(fore[sIndex]);