我有一个带有基础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
。
答案 0 :(得分:1)
您可以尝试在视图中处理GotKeyboardFocus
的{{1}}事件:
TextBox
<telerik:RadTreeView.ItemEditTemplate>
<DataTemplate>
<TextBox Text="{Binding NodeName, Mode=TwoWay}" GotKeyboardFocus="TextBox_GotKeyboardFocus" />
</DataTemplate>
</telerik:RadTreeView.ItemEditTemplate>