2011-03-22 63 views
1

嗨 我得到了下面的Treeview,带有一个ContextMenu和下面的MenuItems DoSomeThingOnItem和DoAnotherThingOnItem。Wpf TreeView从ContextMenu获取项目

但是我需要做什么,为了获得项目,在哪里点击了contextmenuitem?

<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> 

只是为了更清楚,这是我的ContextMenu

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

我已经与Click事件试过,但它只是给了我一个

MenuItem contextMenuItem = (MenuItem)sender; 

,我可以没有找到一种方法来从中获取物品。

回答