簡體   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