复杂 (?) LineSeries itemsource 对象

Complex (?) LineSeries itemsource object

我正在尝试通过为每个 LineSeries 对象定义不同的 DataFieldY 来使用相同的 itemsource 对象实例化多个线系列。

当我拥有并反对多个属性时,我一开始就开始使用

class simple
{
   double time;
   double value1;
   double value2;
}

例如,这样我就可以将一个图表中的 DataFieldY 设置为 DataFieldY="value1"。 现在我的问题来了,我的 class 略有不同,因为它来自 Mongo 数据库。我看起来像这样:

class complex
{
   double timestamp;
   Backward b;
   Forward f;
}
class Backward 
{
   double backValue;
}
class Forward
{
   double forwardValue;
}

当然还有其他变量,层次结构实际上更深一层。但这应该作为一个例子。

考虑到 ItemSource 现在等于 ObservableCollection<Complex>,我现在需要在 DataFieldY 添加的字符串是什么?

还有没有办法,也许使用反射,让我使用 foreach 循环初始化所有的线系列?

foreach(var s in Magic(complex))
{
    var ln = new LineSeries()
    ln.ItemSource = complexCollection
    ln.DataFieldT = s;
}

也许我也试图以错误的方式做到这一点:)

干杯

bf转为public属性:

class complex
{
    ...
    public Backward b { get; set; }
    public Forward f { get; set; }
}

然后您应该能够指定嵌套的 属性 路径,例如:

DataFieldY = "b.backValue";