Witam
Mam pytanie odnośnie bindowania bardziej złożonych kolekcji do kontrolki DataGrid.
Gdy mamy zwykłą listę przechowującą typy wartościowe, to wystarczy podpiąć listę pod właściwość DataContext lub ściślej pod ItemSource. W przypadku list zawierających typy referyncyjne, musimy określić jak właściwości klasy będą bindowane w DataGrid. Wszystko jest fajnie, gdy pracujemy na modelu danych, gdzie mamy pojedyncze pola, bez żadnych kolekcji. Mam taką klasę:
public class Row
{
public DateTime Timestamp { get; set; }
public IEnumerable<double> Samples { get; set; }
}
Wielokropek oznacza dalszy ciąg kolumn. Ich ilość zależy od wielkości kolekcji Samples. Oczywiście wszystkie kolekcje Samples są jednakowej długości.
Chciałbym, aby dało się to sprowadzić do prostego bindingu jak w przypadku prostszych typów, czyli:
DataGrid.ItemSource = rows; //rows - kolekcja typu IEnumerable<Row>
Zdaję sobie sprawę, że wymaga to jakichś edycji szablonu w konrolce DataGrid, a jestem w tym zielony. Wiem, że można przygotować sobie dane w DataTable i podpiąć property DefaultView, ale to mniej eleganckie rozwiązanie.
Chyba, że ktoś ma inne pomysły jak w wygodny sposób bindować?