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;
,我可以没有找到一种方法来从中获取物品。
谢谢,这做到了,这里是我在我的单击事件使用的代码。 ((CategoryViewModel)(sender as MenuItem).DataContext) – gulbaek 2011-03-22 14:01:14