2011-02-23 1 views
2

J'essaie d'utiliser MVVMLight pour lier un événement TreeViewItem Selected à une commande.Commandes de liaison de problème à TreeViewItem à l'aide de MVVMLight

Les années TreeViewItem sont définis dans un HierarchicalDataTemplate je ne peux pas ajouter Interaction.Triggers (comme indiqué ci-dessous)

<HierarchicalDataTemplate 
      x:Key="TreeViewItemTemplate" 
      ItemsSource="{Binding ChildReportViewModels}"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="Selected"> 
        <MvvmLight_Command:EventToCommand Command="{Binding LoadReportCommand, Mode=OneWay}" /> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
</HierarchicalDataTemplate> 

Comment puis-je ajouter le EventTrigger à chaque TreeViewItem?

Merci.

Répondre

2

J'ai oublié cette question.

Pour l'avenir ref, voici la solution je ...

Au lieu d'essayer de lier le EventToCommand à l'événement sélectionné du TreeView, je lié à la MouseLeftButtonUpEvent du TextBlock déclaré dans le HierarchicalDataTemplate pour TreeViewItems.

<HierarchicalDataTemplate 
    x:Key="TreeViewItemTemplate" 
    ItemsSource="{Binding ChildReportViewModels}" 
    ItemContainerStyle="{StaticResource TreeViewItemContainerStyle}"> 
    <StackPanel Orientation="Horizontal">   
     <TextBlock Text="{Binding Name}"> 
     <i:Interaction.Triggers> 
      <i:EventTrigger EventName="MouseLeftButtonUp"> 
       <gs_cmd:EventToCommand Command="{Binding LoadPublicationCommand, Mode=OneWay}" CommandParameter="{Binding}" /> 
      </i:EventTrigger> 
     </i:Interaction.Triggers> 
     </TextBlock> 
    </StackPanel> 
</HierarchicalDataTemplate> 
0

Je n'ai pas beaucoup de connaissances sur MVVMLight et surtout sur EventTrigger.

Mais comme il n'y a pas encore de réponse à votre question, l'article du codeplex TreeViewWithViewModel pourrait vous aider. Il montre comment lier les propriétés SelectedItem et IsExpanded dans un wpf-treeview et comment elles peuvent être utilisées pour implémenter la charge à la demande dans l'arborescence.

Questions connexes