En utilisant MVVM, comment passer SelectedItems d'un XamDataGrid comme paramètre à la Commande soulevées par le ContextMenu?

Je suis en train de passer le point sur XamDataGrid sur lequel je fais un clic droit de la souris pour ouvrir un ContextMenu, ce qui soulève une Commande dans mon ViewModel. En quelque sorte, la méthode que la Commande des appels n'est pas accessible en mode de débogage.

C'est le ciselée à partir de la vue

<ig:XamDataGrid DataSource="{Binding DrdResults}" Height="700" Width="600">
  <ig:XamDataGrid.ContextMenu>
    <ContextMenu DataContext="{Binding RelativeSource={RelativeSource Mode=Self},
                               Path=PlacementTarget.DataContext}"
                 AllowDrop="True" Name="cmAudit">
      <MenuItem Header="View History" 
                Command="{Binding ViewTradeHistory}"
                CommandParameter="{Binding Path=SelectedItems}">
      </MenuItem>
    </ContextMenu>
  </ig:XamDataGrid.ContextMenu>
  <ig:XamDataGrid.FieldSettings>
    <ig:FieldSettings AllowFixing="NearOrFar"
                      AllowEdit="False" 
                      Width="auto" Height="auto"  />
  </ig:XamDataGrid.FieldSettings>
</ig:XamDataGrid>

Mon code dans le ViewModel de ce point de Vue est comme suit.

public WPF.ICommand ViewTradeHistory
{
  get
  {
    if (_viewTradeHistory == null)
    {
      _viewTradeHistory = new DelegateCommand(
      (object SelectedItems) =>
      {
        this.OpenTradeHistory(SelectedItems); 
      });
    }
    return _viewTradeHistory;
  }
}

Et enfin la méthode qui est appelée par la Commande ci-dessous est

private void OpenTradeHistory(object records)
{
  DataPresenterBase.SelectedItemHolder auditRecords
    = (DataPresenterBase.SelectedItemHolder)records;
  //Do something with the auditRecords now.
}

Je ne suis pas sûr de ce que je fais tort ici. Toute aide sera très appréciée.

Grâce,
Shravan

InformationsquelleAutor user290669 | 2010-06-09