我想获取所有行以检查数据库中相同的一些行,我尝试使用StackOverlow中的许多解决方案,但它们都对我不起作用:
for (int i = 0; i < dataGrid.Items.Count; i++)
{
DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator
.ContainerFromIndex(i);
}
这段代码会抛出 value cannot be null
异常。
我也尝试了这行代码,但是遇到了相同的异常(currentitem对象为空)。
var currentItem = myDataGrid.SelectedItem as MyObject;
完整代码:
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
grid.ItemsSource = null;
grid.ItemsSource = work;
grid.Items.Refresh();
for (int i = 0; i < grid.Items.Count; i++) // My grid items count equals to 7
{
DataGridRow row = (DataGridRow)grid.ItemContainerGenerator.ContainerFromIndex(i); // this value was null
var currentItem = grid.SelectedItem as object; // this value was null
}
}