private void PopulateDataFramePreview(IGridData<string> gridData) {
var dg = DataFramePreview;
dg.Columns.Clear();
for (int i = 0; i < gridData.ColumnHeader.Range.Count; i++) {
dg.Columns.Add(new DataGridTextColumn() {
Header = gridData.ColumnHeader[gridData.ColumnHeader.Range.Start + i],
Binding = new Binding(Invariant($"Values[{i}]")),
});
}
var rows = new List<DataFramePreviewRowItem>();
for (var r = 0; r < gridData.Grid.Range.Rows.Count; r++) {
var row = new DataFramePreviewRowItem {
RowName = gridData.RowHeader[gridData.RowHeader.Range.Start + r]
};
for (int c = 0; c < gridData.Grid.Range.Columns.Count; c++) {
row.Values.Add(gridData.Grid[gridData.Grid.Range.Rows.Start + r, gridData.Grid.Range.Columns.Start + c].ToUnicodeQuotes());
}
rows.Add(row);
}
dg.ItemsSource = rows;
}