将自己作为CommandParameter传递?

时间:2012-07-09 01:47:20

标签: wpf xaml .net-4.0

我试图将TreeView上的命令的CommandParameter绑定到TreeView本身的所选项目,而不命名TreeView。

代码:

<TreeView>
    <ACB:CommandBehaviourCollection.Behaviours>
        <ACB:BehaviourBinding Event="SelectedItemChanged" Command="{Binding CmdSelectedItemChanged}" CommandParameter="{Binding SelectedItem, Source={RelativeSource Mode=Self}}"></ACB:BehaviourBinding>
    </ACB:CommandBehaviourCollection.Behaviours>
</TreeView>

我在上面的例子中使用AttachedCommandBehaviour

有人可以解释我是如何做到的吗?

谢谢, 亚历克斯。

1 个答案:

答案 0 :(得分:4)

试试以下内容:

<ACB:BehaviourBinding 
   Event="SelectedItemChanged" 
   Command="{Binding CmdSelectedItemChanged}"  
   CommandParameter="{Binding 
        Path = PlacementTarget
        RelativeSource={RelativeSource FindAncestor, 
        AncestorType={x:Type TreeView}}}" />