在datagrid中获取行

kar*_*tal 5 c# wpf datagrid row

我试着像这样排:

DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(i);
TextBlock cellContent = dataGrid.Columns[0].GetCellContent(row) as TextBlock;
Run Code Online (Sandbox Code Playgroud)

但我只有null.还有其他解决方案吗?我究竟做错了什么?

我想从我的细胞中获取数据.我的单元格是复选框.

Xca*_*r37 2

这取决于您尝试获取此数据的方式/时间。WPF 更适合通过 ItemsSource 中绑定的对象访问数据。因此,如果您的 ItemsSource 是 MyObject 的列表,则特定行的类型将是 MyObject 而不是纯 DataRow。

如果您通过单击来访问数据,则可以执行以下操作:

var currentItem = myDataGrid.SelectedItem as MyObject;
Run Code Online (Sandbox Code Playgroud)

现在,您拥有当前 MyObject 的原始预期形式,而不是在网格中进行选择。