复杂 (?) 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;
}
也许我也试图以错误的方式做到这一点:)
干杯
将b
和f
转为public属性:
class complex
{
...
public Backward b { get; set; }
public Forward f { get; set; }
}
然后您应该能够指定嵌套的 属性 路径,例如:
DataFieldY = "b.backValue";
我正在尝试通过为每个 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;
}
也许我也试图以错误的方式做到这一点:)
干杯
将b
和f
转为public属性:
class complex
{
...
public Backward b { get; set; }
public Forward f { get; set; }
}
然后您应该能够指定嵌套的 属性 路径,例如:
DataFieldY = "b.backValue";