复杂(?)LineSeries项目源对象

时间:2017-09-12 11:36:18

标签: c# wpf oxyplot

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

当我拥有和使用多个属性(如

)时,我首先开始工作
class simple
{
   double time;
   double value1;
   double value2;
}

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

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

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

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

还有一种方法,可能是使用反射,让我使用foreach循环初始化所有行系列?

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

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

干杯

1 个答案:

答案 0 :(得分:1)

bf变为公共属性

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

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

DataFieldY = "b.backValue";