2012-02-02 88 views
0

我想知道如何将选定的项目从treeview/HierarchicalDataTemplate传递给命令?树视图上下文菜单 - 将选定的项目传递给命令?

这是我到目前为止的代码,它显示了上下文菜单,但我还没有将命令绑定到它。命令绑定是很容易的部分,但我怎么知道它来自哪个节点?

<HierarchicalDataTemplate 
    DataType="{x:Type viewModel:UsersViewModel}" 
    ItemsSource="{Binding Children}"> 
    <StackPanel Orientation="Horizontal"> 
     <Image Width="16" Height="16" Margin="3,0" Source="Images\Region.png" /> 
     <TextBlock Text="{Binding UserName}"> 
      <TextBlock.ContextMenu> 
        <ContextMenu> 
         <MenuItem Header="Edit" /> 
         <MenuItem Header="Delete"/> 
        </ContextMenu> 
       </TextBlock.ContextMenu> 
     </TextBlock> 
    </StackPanel> 
</HierarchicalDataTemplate> 

回答

1

只是{Binding}应该是整个项目。

(将它传递给Command绑定的CommandParameter,在ExecuteCanExecute它将成为方法的参数(你需要再投放到项目型))

+0

你能提供一个样本?我无法让它工作。但从我的研究中,我发现这是做到这一点的正确方法。我会标记为现在回答。 – rreeves 2012-02-06 22:40:52

+0

@BatMasterson:[看这个答案](http://stackoverflow.com/questions/6914867/why-cant-i-use-datacontext-binding-for-my-context-menu/6914964#6914964),它应该清除你可能有问题。 – 2012-02-06 22:44:38

相关问题