私のアプローチが正しいかどうかはわかりませんが、これを理解したいだけです:
私は色の 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 になりました。何か不足していますか?