Сложный (?) Объект источника LineSeries
Я пытаюсь создать несколько рядов строк, используя один и тот же объект items, определив adifferent DataFieldY для каждого объекта LineSeries.
У меня это работает сначала, когда у меня есть и объект с несколькими свойствами, такими как
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 ответ
Очередь b
а также f
в общественную собственность:
class complex
{
...
public Backward b { get; set; }
public Forward f { get; set; }
}
После этого вы сможете указать путь к вложенным свойствам, например:
DataFieldY = "b.backValue";