我利用HierarchicalDataTemplate 实现了对treeview的绑定,现在希望在treeviewitem上增加双击功能(Command方式)这个不知道该如何写了。
我的treeview绑定大致如下:        <!--在Window.Resources中加入下述代码-->
        <DataTemplate x:Key="ChildTemplate">
            <Border>
                <Grid>
                   <TextBlock Text="{Binding  UserName}" />                    
                </Grid>
            </Border>
        </DataTemplate>        <!-- Parent Content Template -->
        <HierarchicalDataTemplate  ItemTemplate="{StaticResource ChildTemplate}" ItemsSource="{Binding Contacts}">
            <Border >
                <Grid>
                    <TextBlock Text="{Binding Path=ParentName}" />
                </Grid>
            </Border>
        </HierarchicalDataTemplate>        <!--treeview写为如下方式-->
        <TreeView  ItemsSource="{Binding FamilyData}" ItemTemplate="{StaticResource ParentTemplate}" />
     这样可以实现对treeview的绑定,我现在希望当我双击子节点(也就是ChildTemplate中的项)时,可以执行一些操作,不知道该如何实现,我希望能够以Command的方式实现。不知道大家有什么办法不?

解决方案 »

  1.   

    方法1:直接在Border中写MouseLeftButtonDown事件。
    方法2:如果你一定要使用Command方法,可以在Template中使用Button做最外层元素(取代原来的Border),并把原来Template中的内容写进Button的Template中。Button已实现了ICommandSource接口,所以你可以用上Command了
      

  2.   

    方法3就是自己实现ICommandSource了。
      

  3.   

    谢谢,我最后是通过使用Attached behavior来实现的。