У меня есть список данных:
List<string[]> dataRow = new List<string[]>();
- каждый массив string [] заполнен 30 данными для каждой строки.
- Имя столбца уже существует.
Я пытаюсь отобразить это так:
XAML:
<DataGrid Margin="8,259,8,8" IsReadOnly="True" AutoGenerateColumns="False" AlternatingRowBackground="Gainsboro" AlternationCount="2" Name="MyDataGrid" />
C #:
MyDataGrid.ItemsSource = dataRow;
foreach( string[] cellContent in dataRow )
{
foreach( string text in cellContent )
{
var column = new DataGridTextColumn
{
Binding = new Binding(text)
};
MyDataGrid.Columns.Add(column);
}
}
но я получил ошибку "ContextSwitchDeadlock". Как я могу решить это?
Спасибо за помощь
РЕДАКТИРОВАТЬ: решено, но не с привязкой к данным
Я решил это так:
List<string> ColumnName = new List<string>();
List<string[]> dataRow = new List<string[]>();
DataTable myTable = new DataTable();
// Fill Array ColumnName and dataRow Here
foreach (string text in ColumnName)
{
myTable.Columns.Add(text);
}
foreach (string[] cellContent in dataRow)
{
myTable.Rows.Add(cellContent);
}
DatensatzGrid.ItemsSource = myTable.AsDataView();
Спасибо за ответ!