TreeViewItem 使用 TextBox,通过设置TextBox的 isReadyOnly属性来重命名节点名称.普通状态下只读 isReadyOnly=true,触发右键重命名事件是设置为允许修改 isReadyOnly=false.然后设置textbox的键盘输入事件 PreviewKeyUp 和失去焦点事件 LostFocus. TreeView还需要设置一个右键事件 PreviewMouseRightButtonDown.完整的Xaml代码如下:
<TreeView x:Name="tree_view"
PreviewMouseRightButtonDown="tree_view_PreviewMouseRightButtonDown"
>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type data:TreeMode}" ItemsSource="{Binding Children}">
<TextBox x:Name="reName" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0,0,0,0"
Text="{Binding Path=Name, Mode=TwoWay}" IsReadOnly="True"
LostFocus="reName_LostFocus" PreviewKeyUp="reName_PreviewKeyUp" &n
WPF TreeView右键重命名实现方法

这篇博客介绍了如何在WPF的TreeView中实现右键点击节点进行重命名的功能。通过使用TextBox并切换其ReadOnly属性,在右键事件中允许用户编辑节点名称。同时,设置了TextBox的PreviewKeyUp和LostFocus事件来处理键盘输入和失去焦点时的逻辑。TreeView还添加了PreviewMouseRightButtonDown事件来响应右键点击。
最低0.47元/天 解锁文章
3255

被折叠的 条评论
为什么被折叠?



