着色元素变量列表?

时间:2014-07-04 07:44:52

标签: c# wpf colors

我有一个产品类。

public class Product
{
 public int Id { get; set; }
 public string Name { get; set; }  <-- 
 ......
}

我有一个包含产品列表的数据库表,每次添加新产品时此列表都会增长。 在我的应用程序中,我有一个使用产品列表的图表,我想为每个产品着色 具有特定颜色但产品数量可以动态增加。例如,我可以在应用程序的第一次运行中使用:

Product A --> color blue 
Product B --> color Brown
Product C --> color red
Product A--> color Blue

但是在下一次运行中(假设我添加了新产品D)

Product A --> color blue 
Product B --> color Brown
Product C --> color red
Product A --> color Blue
Product D --> color Black

感谢。

3 个答案:

答案 0 :(得分:0)

使用

   List<string> colorsList=new List();
   colorList.add("black");
   colorList.add("blue");

简单 你可以使用很多类型的集合,google上有很多教程 这取决于您的要求 例如:您想从颜色名称或其他字符串访问某些类Color对象。您可以使用Dictionary

    Dictionary<string ,ColorClass> Dictionary and so on 

http://www.tutorialspoint.com/csharp/csharp_collections.htm http://www.dotnetperls.com/collections

答案 1 :(得分:0)

我猜您需要使用Dictionary

Dictionary<string, string> ProductColor= new Dictionary<string, string>();
ProductColor.Add("apple", "blue");
ProductColor.Add("windows", "red");

答案 2 :(得分:0)

目前还不完全清楚您要实现的目标,但如果您需要为特定项目创建随机颜色,则可以使用Random classColor class与{{3}}一起使用,类似这样的内容:

var rnd = new Random();
var color = Color.FromArgb(rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255));

之后,只需将其添加到您的产品类中(如果您有一个属性),创建一个包含Product和Color的新类,并使用包含该实体的列表或使用包含您的产品和颜色的Dictionary({ {1}})。