private void CreateColorList()
{
ColorList = new List<List<SolidColorBrush>>();
List<SolidColorBrush> BlueShades = new List<SolidColorBrush>();
List<SolidColorBrush> RedShades = new List<SolidColorBrush>();
List<SolidColorBrush> GreenShades = new List<SolidColorBrush>();
List<SolidColorBrush> YellowShades = new List<SolidColorBrush>();
List<SolidColorBrush> MagentaShades = new List<SolidColorBrush>();
List<SolidColorBrush> CyanShades = new List<SolidColorBrush>();
int rgbFactor = 255 / _classCount;
for (int j = 0; j < 256; j = j + rgbFactor)
{
BlueShades.Add(new SolidColorBrush(Color.FromArgb(192, (byte)j, (byte)j, 255)));
RedShades.Add(new SolidColorBrush(Color.FromArgb(192, 255, (byte)j, (byte)j)));
GreenShades.Add(new SolidColorBrush(Color.FromArgb(192, (byte)j, 255, (byte)j)));
YellowShades.Add(new SolidColorBrush(Color.FromArgb(192, 255, 255, (byte)j)));
MagentaShades.Add(new SolidColorBrush(Color.FromArgb(192, 255, (byte)j, 255)));
CyanShades.Add(new SolidColorBrush(Color.FromArgb(192, (byte)j, 255, 255)));
}
ColorList.Add(BlueShades);
ColorList.Add(RedShades);
ColorList.Add(GreenShades);
ColorList.Add(YellowShades);
ColorList.Add(MagentaShades);
ColorList.Add(CyanShades);
foreach (List<SolidColorBrush> brushList in ColorList)
{
brushList.Reverse();
}
List<SolidColorBrush> MixedShades = new List<SolidColorBrush>();
if (_classCount > 5) MixedShades.Add(new SolidColorBrush(Color.FromArgb(192, 0, 255, 255)));
if (_classCount > 4) MixedShades.Add(new SolidColorBrush(Color.FromArgb(192, 255, 0, 255)));
if (_classCount > 3) MixedShades.Add(new SolidColorBrush(Color.FromArgb(192, 255, 255, 0)));
MixedShades.Add(new SolidColorBrush(Color.FromArgb(192, 0, 255, 0)));
MixedShades.Add(new SolidColorBrush(Color.FromArgb(192, 0, 0, 255)));
MixedShades.Add(new SolidColorBrush(Color.FromArgb(192, 255, 0, 0)));
ColorList.Add(MixedShades);
_lastGeneratedClassCount = _classCount;
}