2010-08-11 3 views
0

J'utilise MVVM light avec silverlight 4. J'utilise EventToCommand pour obtenir des lignes sélectionnées de la grille de données. Cependant, je ne suis pas capable de le faire de manière inverse, c'est-à-dire à partir d'une valeur définie par exemple 2 dans le modèle de vue comment puis-je demander de placer la sélection à la rangée n ° 2 dans la grille de données?Comment sélectionner la ligne spécifique de datagrid en utilisant ViewModel pour un numéro de ligne donné dire: faire la ligne n ° 2 sélectionnée dans datagrid?

Mon scénario Je l'utilise pour insérer de nouvelles données dans la base de données. À partir de ViewModel, je suis capable de générer la nouvelle ligne dans DataGrid en ajoutant un élément de plus dans ObservableCollection. Maintenant, je veux voir pour sélectionner cette nouvelle ligne définie. Comment pourrais-je faire ça?

Ma logique est: 1. Puisque nous pouvons avoir le nombre total de données, nous savons quelle est cette dernière rangée. 2. En utilisant le numéro de la dernière ligne, je veux créer un événement qui dira à datagrid de sélectionner cette ligne.

Je travaille là-dessus depuis quelques jours et je n'ai aucune idée de comment cela fonctionne avec la lumière MVVM.

Répondre

0

n'emploie pas MVVM Lumière, mais si je devais agir sur une sélection de suite, je le ferais de cette façon, à condition que vous avez un contrôle qui est binded:

 
private void simpleButton_Click(object sender, RoutedEventArgs e) 
{ 
    var cell = dataGrid1.SelectedItem as SimplePocoObject; 
    if (cell != null) _context.RunReport(cell.ID, cell.ServerName); 
    myDomainDataSource.Load(); // refresh grid 
} 
Questions connexes