wyw926 发表于 2016-7-14 14:28:55

WPF下使用C1TreeView实现双击编辑和右键菜单??

正在做一个类似通讯录的功能,使用的WPF下C1TreeView,用的HierarchicalDataTemplate 绑定一个List<Agent> 结构作为数据源,我看到C1TreeView有个EditTemplate的功能,请问,怎么能够像资源浏览器那样实现 双击编辑节点里的textBlock内容,右键弹出菜单,添加或删除 节点?急!非常感谢!
我的代码
<c1:C1TreeView Name="unitTree" BorderThickness="0" VirtualizingPanel.IsVirtualizing="True">
                        <c1:C1TreeView.ItemTemplate>
                            <HierarchicalDataTemplate ItemsSource="{Binding subAgents}">
                              <StackPanel Orientation="Horizontal">
                                    <Image Source="/Resources/folderblue16.png" />
                                    <TextBlock Text="{Binding AgentName}"/>
                              </StackPanel>
                            </HierarchicalDataTemplate>
                        </c1:C1TreeView.ItemTemplate>                     
                  </c1:C1TreeView>

Alice 发表于 2016-7-14 17:59:04

我理解你的两个问题都是业务逻辑的问题,如下:
1.树节点的编辑。
您在代码里放入了一个TextBlock,TextBlock是不可编辑控件。替换成TextBox就可以实现编辑。
2.可以设置ContextMenu属性,指定一个Menu菜单。右键的时候就可以展示出来。
<c1:C1TreeView.ItemContainerStyle>      
                <Style TargetType="c1:C1TreeViewItem">         
                  <Setter Property="ContextMenu" Value="{StaticResource menu}"/>         
                </Style>            
            </c1:C1TreeView.ItemContainerStyle>

wyw926 发表于 2016-7-14 18:16:14

啊,对哦,抱歉,我是新手
谢谢了,我再试试

wyw926 发表于 2016-7-14 18:22:30

Alice 发表于 2016-7-14 17:59
我理解你的两个问题都是业务逻辑的问题,如下:
1.树节点的编辑。
您在代码里放入了一个TextBlock,TextB ...

可是,如果用textbox,单击就会进入到编辑状态,我希望是用户双击,或者按F2键,才进入到编辑状态

wyw926 发表于 2016-7-14 19:06:04

C1TreeView 有一个 EditTemplate怎么用,文档里都找不到

Alice 发表于 2016-7-15 17:22:21

wyw926 发表于 2016-7-14 19:06
C1TreeView 有一个 EditTemplate怎么用,文档里都找不到

基本思路就是使用textbox设置EditDataTemplate,双击时候会触发该模板

//创建模板
DataTemplate x:Key="editableName">
                <TextBox/>
            </DataTemplate>

//事件触发
<TreeView.ItemContainerStyle>
    <Style TargetType="{x:Type TreeViewItem}">
      <EventSetter Event="MouseDoubleClick" Handler="OnItemMouseDoubleClick" />
。。。。
或是使用C1TreeView的ItemClick事件,在事件里去设置。

wyw926 发表于 2016-7-29 17:17:26

谢谢你,搞定了

Alice 发表于 2016-7-29 17:39:49

wyw926 发表于 2016-7-29 17:17
谢谢你,搞定了

好的,谢谢您的反馈。
非常赞哦。
周末愉快。:hjyzw:
页: [1]
查看完整版本: WPF下使用C1TreeView实现双击编辑和右键菜单??