添加新节点后标记节点名称

时间:2017-08-17 09:09:21

标签: c# wpf telerik treeview

我有一个带有基础RadTreeView的Telerik CollectionViewSource。当我向该集合添加新项时,它将获得默认名称“New Node”。我想将该节点设置为编辑模式,以便用户可以立即为该节点输入新名称。

IsInEditMode设置为true会使节点进入编辑模式,但不会标记名称。光标只是在开头,当前名称必须由用户首先标记。是否有可能自动标记当前名称?

我的XAML代码中的代码段:

<Style TargetType="{x:Type telerik:RadTreeViewItem}" >
    <Setter Property="IsInEditMode" Value="{Binding Path=IsInEditMode}"/>
</Style>

<telerik:RadTreeView.ItemEditTemplate>
    <DataTemplate>
        <TextBox Text="{Binding NodeName, Mode=TwoWay}" />
    </DataTemplate>
</telerik:RadTreeView.ItemEditTemplate>

<HierarchicalDataTemplate DataType="{NodeViewModel}" ItemsSource="{Binding NodeChildren}">
    <TextBlock Text="{Binding NodeName}" />
</HierarchicalDataTemplate >

C#代码只是将IsInEditMode的属性“NodeViewModel”设置为true

1 个答案:

答案 0 :(得分:1)

您可以尝试在视图中处理GotKeyboardFocus的{​​{1}}事件:

TextBox
<telerik:RadTreeView.ItemEditTemplate>
    <DataTemplate>
        <TextBox Text="{Binding NodeName, Mode=TwoWay}" GotKeyboardFocus="TextBox_GotKeyboardFocus" />
    </DataTemplate>
</telerik:RadTreeView.ItemEditTemplate>