这是课程:
public class TrainingData
{
public string Training { get; set; }
}
这是 MainWindow 中的其余代码:
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("D:/excel.xlsx");
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;
List <TrainingData> tData= new List <TrainingData>();
int rowCount = xlRange.Rows.Count;
int colCount = xlRange.Columns.Count;
//int k = 0;
for (int i = 1; i <= rowCount; i++)
{
tData.Add(new TrainingData() { Training = xlRange.Cells[i, 1].Value2.ToString() });
//MessageBox.Show(tData[k].Training);
//k++;
}
Prikaz.ItemsSource = tData;
数据网格:
<DataGrid AutoGenerateColumns="False" Height="120" HorizontalAlignment="Left" Margin="12,12,0,0" Name="Prikaz" VerticalAlignment="Top" Width="105" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Header" />
</DataGrid.Columns>
</DataGrid>`
所以,Prikaz 是我的 DataGrid。tData 是 TrainingData 对象的列表。如果我取消注释这三行,我可以测试我是否从 excel 文件中正确导入了信息,是的,它工作得很好。
那么为什么我得到空的DataGrid?它有正确的行数和一列,没关系,但里面没有数据。我使用了这一行: Prikaz.ItemsSource = tData;
绑定我的对象列表和 DataGrid。训练被宣布为公开的,因此它应该出现在 DataGrid 中。什么可能导致问题?