TreeView中的最高祖先作为命令参数

时间:2012-03-23 10:59:37

标签: wpf events parameters treeview double-click

我在WPF中有一个分层树视图。我使用http://marlongrech.wordpress.com/2008/12/13/attachedcommandbehavior-v2-aka-acb/与viewmodel进行事件绑定。

当我双击树视图中的项目时,我总是希望将根类型作为命令参数传递。

例:
一个
..B
....Ç
d
..E

当我点击'A','B'或'C'时,我想要'A'作为命令参数。 当我点击'D'或'E'时我想要'D'作为命令参数。

这是我到目前为止,它总是发送单击为命令参数的项目:

    <Setter Property="acb:CommandBehavior.Event" Value="MouseDoubleClick"/>
    <Setter Property="acb:CommandBehavior.Command" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.SomeCommand}"/>
    <Setter Property="acb:CommandBehavior.CommandParameter" Value="{Binding}"/>

我想我必须与RelativeSource绑定,我无法弄清楚..

此致

米歇尔

1 个答案:

答案 0 :(得分:1)

据我所知,你不能创建一个等同于想要的表达式的绑定,你可能最好将当前项作为参数传递并在命令代码中找到根节点。