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>
我理解你的两个问题都是业务逻辑的问题,如下:
1.树节点的编辑。
您在代码里放入了一个TextBlock,TextBlock是不可编辑控件。替换成TextBox就可以实现编辑。
2.可以设置ContextMenu属性,指定一个Menu菜单。右键的时候就可以展示出来。
<c1:C1TreeView.ItemContainerStyle>
<Style TargetType="c1:C1TreeViewItem">
<Setter Property="ContextMenu" Value="{StaticResource menu}"/>
</Style>
</c1:C1TreeView.ItemContainerStyle> 啊,对哦,抱歉,我是新手
谢谢了,我再试试 Alice 发表于 2016-7-14 17:59
我理解你的两个问题都是业务逻辑的问题,如下:
1.树节点的编辑。
您在代码里放入了一个TextBlock,TextB ...
可是,如果用textbox,单击就会进入到编辑状态,我希望是用户双击,或者按F2键,才进入到编辑状态 C1TreeView 有一个 EditTemplate怎么用,文档里都找不到
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
谢谢你,搞定了
好的,谢谢您的反馈。
非常赞哦。
周末愉快。:hjyzw:
页:
[1]