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>