2011-03-22 4 views
1

Salut J'ai reçu l'arborescence suivante, avec un ContextMenu avec les éléments suivants MenuItems DoSomeThingOnItem et DoAnotherThingOnItem.Wpf TreeView Obtenir l'élément à partir de ContextMenu

Mais qu'est-ce que je dois faire, pour que j'obtienne l'Item, où le contextmenuitem a été cliqué?

<TreeView Name="treeView1" ItemsSource="{Binding Regions}" AllowDrop="True" PreviewMouseRightButtonDown="TreeView1PreviewMouseRightButtonDown"> 
      <TreeView.ItemContainerStyle> 
       <!-- This Style binds a TreeViewItem to a TreeViewItemViewModel.--> 
       <Style TargetType="{x:Type TreeViewItem}"> 
        <Setter Property="AllowDrop" Value="True" /> 
        <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/> 
        <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/> 
        <Setter Property="FontWeight" Value="Normal"/> 
        <Style.Triggers> 
         <Trigger Property="IsSelected" Value="True"> 
          <Setter Property="FontWeight" Value="Bold"/> 
         </Trigger> 
        </Style.Triggers> 
       </Style> 
      </TreeView.ItemContainerStyle> 
      <TreeView.Resources> 
       </HierarchicalDataTemplate> 
       <HierarchicalDataTemplate DataType="{x:Type ViewModel:ProductViewModel}" 
              ItemsSource="{Binding Children}"> 
        <StackPanel Orientation="Horizontal"> 
         <Image Width="16" Height="16" Margin=" 3,0" Source="Images\item.png"/> 
         <TextBlock Text="{Binding Name}"></TextBlock> 
         <StackPanel.ContextMenu> 
          <ContextMenu> 
           <MenuItem Header="DoSomeThingOnItem"></MenuItem> 
           <MenuItem Header="DoAnotherThingOnItem"></MenuItem> 
          </ContextMenu> 
         </StackPanel.ContextMenu> 
        </StackPanel> 

       </HierarchicalDataTemplate> 

      </TreeView.Resources> 
     </TreeView> 

Juste pour le rendre plus clair, voici mon contextmenu

<ContextMenu> 
    <MenuItem Header="DoSomeThingOnItem"></MenuItem> 
    <MenuItem Header="DoAnotherThingOnItem"></MenuItem> 
</ContextMenu> 

J'ai déjà essayé avec l'événement Click, mais il me donne juste un

MenuItem contextMenuItem = (MenuItem)sender; 

Et je peux Ne pas trouver un moyen d'obtenir l'objet de cela.

Répondre