繁体   English   中英

C#中的ObservableCollection项目列表

[英]List of ObservableCollection items in C#

不知道我的方法是否正确,但我只是想了解一下:

我有一个ColorStopCollection颜色,这是Componentart中的一个类,这是定义

    public sealed class ColorStopCollection : ObservableCollection<ColorStop>
    {
        public ColorStopCollection();
        public ColorStopMappingMode MappingMode { get; set; }
        public Palette Palette { get; set; }
        public ColorStopTransition Transition { get; set; }
        public Color GetColor(double value);
        public Color GetColor(double value, ColorStopTransition transition);
        public Color[] GetColorRange(int count);
        public Color[] GetColorRange(int count, ColorStopTransition transition);
        public Color[] GetColorRange(double minValue, double maxValue, int count, ColorStopTransition transition);
        protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e);
        public GradientStopCollection ToGradientStopCollection();
        public GradientStopCollection ToGradientStopCollection(double minValue, double maxValue);
        public ColorStop[] ToSortedArray();
    }

因此,我制作了一个颜色的集合,如下所示(Green变量是带有一些绿色阴影的ColorStopCollection

public static ColorStopCollection Green= new ColorStopCollection() 
    { new ColorStop{Color=(Color)new ColorConverter().ConvertFrom("#FF3F5D1C"), Offset=0},
      new ColorStop{Color=(Color)new ColorConverter().ConvertFrom("#FF4B7021"), Offset=20},
      new ColorStop{Color=(Color)new ColorConverter().ConvertFrom("#FF588227"), Offset=40},
      new ColorStop{Color=(Color)new ColorConverter().ConvertFrom("#FF658D37"), Offset=60},
      new ColorStop{Color=(Color)new ColorConverter().ConvertFrom("#FF85A562"), Offset=80}
    };

我有十个这些变量,我需要列出它们,所以我发表了以下声明:

public static List<ColorStopCollection> AllColors = new List<ColorStopCollection>(){
        Green,
        Blue,
        Purple,
        Lilac,
        Orange,
        ...
    };

我的问题是当我尝试获取List AllColors的ColorStopCollection项目时

Name                        Value   Type
GlobalColors.AllColors[0]   null    ComponentArt.Win.DataVisualization.Gauges.ColorStopCollection

我希望获得ColorStopCollection元素(在本例中为绿色的集合),但是我得到null,我错过了什么吗?

好像您在Green之前初始化了AllColors ,所以当您通过Green时,它为null。

将每个字段初始化器移到它引用的字段之后。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM