Pourquoi ItemContainerGenerator.ContainerFromIndex () renvoie null et comment éviter ce comportement?

Je suis en utilisant ce modèle pour analyser les lignes que j'ai sélectionné dans un contrôle datagrid.

for (int i = 0; i < dgDetalle.Items.Count; i++)
{
    DataGridRow row = (DataGridRow)dgDetalle.ItemContainerGenerator.ContainerFromIndex(i);
    FrameworkElement cellContent = dgDetalle.Columns[0].GetCellContent(row);
    //... code ...
}

Le cycle se passe bien, mais lors du traitement de certains indices, la deuxième ligne lève une exception de null. MSDN de la documentation dit que ItemContainerGenerator.ContainerFromIndex(i) renvoie la valeur null si 'si l'élément n'est pas réalisé, mais cela ne m'aide pas à deviner comment pourrais-je obtenir la valeur souhaitée.

Comment puis-je analyser toutes les lignes? Est-il un autre moyen?

Mise à JOUR

Je suis à l'aide de cet extrait à lire un CheckBox comme expliqué ici. Je ne peux donc pas utiliser la liaison ou ItemSource à moins que j'ai changer beaucoup de choses. Et je ne peux pas. Je suis en train de faire la maintenance du code.

source d'informationauteur JPCF