WPF数据网格绑定困难

WPF数据网格绑定困难,wpf,data-binding,datagrid,Wpf,Data Binding,Datagrid,这是一节课: public class TrainingData { public string Training { get; set; } } 这是主窗口中的其余代码: Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("D:/excel.xlsx"); Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1]; Excel.Range xlRange = xlWorksheet.Us

这是一节课:

public class TrainingData
{
    public string Training { get; set; }  
}
这是主窗口中的其余代码:

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;
Excel.工作簿xlWorkbook=xlApp.Workbooks.Open(“D:/Excel.xlsx”);
Excel._工作表xlWorksheet=xlWorkbook.Sheets[1];
Excel.Range xlRange=xlWorksheet.UsedRange;
List tData=新列表();
int rowCount=xlRange.Rows.Count;
int colCount=xlRange.Columns.Count;
//int k=0;

对于(inti=1;i,需要将列路径绑定到属性训练

语法是这样的,但这只是来自内存。 文本需要绑定到路径训练

使用:



尽管您已经在代码中指定了
ItemsSource
属性,但您还需要提供对
DataGrid
中的列的绑定,这些列通过其属性连接到ItemsSource对象,如下所示:

<DataGrid.Columns>
    <DataGridTextColumn Header="Header" Binding="{Binding Path=Training}"/>
</DataGrid.Columns>


此外,您还需要为
TrainingData
类实现
INotifyPropertyChanged
接口,并且最好使用
ObservableCollection
集合对象,而不是使用collection
列表自定义类中的接口。

是否可以为网格提供Xaml?如果设置AutoGeneratedColumns=“True”,是否可以获取数据?此行解决了问题:

<DataTemplate>
    <TextBlock Text="{Binding Path=Training}"/>
</DataTemplate>
<DataGridTextColumn Header="Header" Binding="{Binding Path=Training}/>
<DataGrid.Columns>
    <DataGridTextColumn Header="Header" Binding="{Binding Path=Training}"/>
</DataGrid.Columns>