Obtenir les données spécifiques de la cellule de la ligne sélectionnée dans la grille de données WPF C#

J'ai un DataGrid que je remplis avec les données de ma base de données sql.
Maintenant je veux obtenir une cellule spécifique (2ème cellule) à partir de la ligne que j'ai sélectionné avec une case à cocher.

C'est ce que j'ai maintenant:
WPF XAML:

<DataGrid Name="myGrid">
    <DataGrid.Columns>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <CheckBox Checked="CheckBox_Checked"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    <DataGridTextColumn Header="CustomerID" Width="Auto" Binding="{Binding CustomerID}"/>
    <DataGridTextColumn Header="ItemID" Width="Auto" Binding="{Binding ItemID}"/>
<DataGrid>

De code C#:

private void CheckBox_Checked(object sender, RoutedEventArgs e)
    {
        DataGrid row = (DataGrid)myGrid.SelectedItems[1];
        System.Windows.MessageBox.Show(row);
    }

J'obtiens une erreur lors de l'exécution:

Système.ArgumentOutOfRangeException

{"Index était hors de portée. Doit être non négatif et inférieur à la taille de la collection.\r\nParameter nom: index"}

Ce que je fais mal? Dois-je utiliser une autre méthode pour obtenir les cellules que je veux?

  • Qui de cellules de données que vous voulez? Comme par posté XAML, il contient seulement une cellule avec la case à cocher dans il.
  • Je ne peux pas voir toutes les données dans votre grille de données? Comment est-il peuplé?
  • J'en ai laissé un peu de code, de la pensée, il n'était pas nécessaire. @GáborBirkás
  • Êtes-vous en utilisant le pattern MVVM? Pourquoi ne pas lier votre grille de données de contexte à une ObservableCollection contenant votre base de données en lignes? Je peux vous donner le code pour que, si vous le souhaitez.
  • Oui s'il vous plaît @GáborBirkás j'espère pouvoir ensuite le faire fonctionner
InformationsquelleAutor thbl | 2014-06-01