2010-04-24 8 views
0

J'essaie d'écrire un contrôle maître-détail qui consiste en une grille de données maître et une grille de données détaillée. Mon scénario suivait - J'ai utilisé le SelectedItem et l'ai lié à une propriété dans ModelView. Le problème est que le SelectedItem dans ViewModel n'est jamais utilisé, donc je ne peux pas obtenir l'information qui est sélectionnée dans une grille de données principale et ne peut pas récupérer les données pour cette sélection.WPF: Master - vue détaillée avec deux datagrids et dans MVVM

Le code est ci-dessous:

<toolkit:DataGrid ItemsSource="{Binding}" RowDetailsVisibilityMode="VisibleWhenSelected" SelectedItem="{Binding SelectedItemHandler, Mode=TwoWay}"></toolkit:DataGrid> 

Et ViewModel

private CustomerObjects _selectedItem;  
public CustomerObjects SelectedItemHandler { 
       get { return _selectedItem; } 
       set 
       { 
         OnPropertyChanged("SelectedItem"); 

       } 

      } 

Le code SelectedItemHandler est jamais utilisé. Quel pourrait être le problème? Dois-je utiliser une autre approche pour créer un maître - détail dans MVVM?

Répondre

1

Vous pourriez être intéressé par le comportement EventToCommand fourni par le MVVM Light Toolkit qui vous permettra de travailler avec par exemple le LostFocus (ou tout autre d'ailleurs) cas de contrôle principal. D'autres approches peuvent inclure l'utilisation d'un DataGrid pour les commandes Master et TextBox ou TextBlock pour le détail.

Questions connexes