从Windows Phone中的一组颜色中将随机颜色设置为文本框?

时间:2014-06-20 06:05:52

标签: c# windows-phone-8.1

我正在使用字符串数组来索引颜色。

string[] fore {"Colors.Yellow","Colors.Red","Colors.Blue","Colors.White","Colors.Green"};
int sIndex = rnd.Next(fore.Length);
textblock.Foreground = new SolidColorBrush(fore[sIndex]);

但它给出了无效的参数错误? 怎么办?

2 个答案:

答案 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]);