0
我有一個Telerik RadTreeView
,其底層爲CollectionViewSource
。當我向該集合中添加新項目時,它將獲得默認名稱「新節點」。我想將該節點設置爲編輯模式,以便用戶可以立即爲該節點輸入新名稱。添加新節點後標記節點名稱
設置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#代碼只是設置NodeViewModel
到true
的財產 「IsInEditMode
」。
謝謝您的答覆 - 這工作。我發現只要將IsInEditMode屬性設置爲true,即使在Dispatcher線程中完成,或者延遲1ms的System.Threading.Timer,也可以實現。我不知道樹中會發生什麼,但顯然它需要很短的時間,或者可能更換樹來刷新。我想知道是否有一個更清潔的解決方案。 – telandor
官方telerik論壇提出相同的建議:http://www.telerik.com/forums/edit-node-name-after-adding-new-node#ZC0S2WAvXUyJ4XNR63zCuA – telandor