0

私のアプローチが正しいかどうかはわかりませんが、これを理解したいだけです:

私は色の 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}
    };

これらの変数は 10 個あります。それらをリストする必要があるため、次のステートメントを作成しました。

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 になりました。何か不足していますか?

4

1 に答える 1

3

AllColorsの前に初期化したように見えるGreenので、Green渡したときに null でした。

各フィールド初期化子は、それが参照するフィールドの後に移動します。

于 2013-11-26T19:05:03.200 に答える