Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 生成要用作ListBox背景色的连续颜色集合_C#_Listbox_Windows Phone - Fatal编程技术网

C# 生成要用作ListBox背景色的连续颜色集合

C# 生成要用作ListBox背景色的连续颜色集合,c#,listbox,windows-phone,C#,Listbox,Windows Phone,您好,我想对列表框的每个项目依次应用一定数量的灰色,即从亮到暗。到目前为止,我的方法是- public class ColorToBrushConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var random = new Ran

您好,我想对列表框的每个项目依次应用一定数量的灰色,即从亮到暗。到目前为止,我的方法是-

    public class ColorToBrushConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var random = new Random();
            int randomNumber = (int)random.Next(20,256) ;

            byte b = (byte)randomNumber;
            Color blueish = Color.FromArgb(255,b, b, b);
            return new SolidColorBrush((Color)blueish);
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new System.NotImplementedException();
        }
    }

我能够生成任意数量的灰色,但我需要从光线到黑暗的感觉。请为我提供更正方法的建议

据我所知,要产生从亮到暗的感觉,您需要连续的颜色代码,它可以基于您转换为颜色的值。所以随机性在这里不起作用。您需要传递下一个颜色代码值,例如,对于每个项目,增加变量b的值,然后生成颜色。希望这有帮助。

您可能想移动
var random=new random()编码到静态字段中。也不知道为什么在不使用
参数的情况下使用值转换器。我正在使用转换器,以便为列表框的每个成员调用此代码块。我还需要将计算出的颜色转换成SolidColorBrush@MickyOK。正常情况下,这是一个参数的函数,所以当你上下滚动时,你可能会发现事物突然改变颜色?不确定您是否知道列表中有多少项?如果是这样,请为您觉得合适的
b
选择一个最小值和最大值,然后将项目数投影到最小值和最大值之间的范围。例如:
byte min=100;字节最大值=200;int numberOfItems=20;对于(int index=1;index请参考此图,我希望使用不同的灰色阴影获得相同的感觉