在我的樹視圖中,我想記住在刪除或插入節點後哪些節點被展開並重繪該狀態。我通過記住擴展節點的索引來解決這個問題。如果一個節點被刪除,我會減少之後的所有元素。 這是有效的,因爲我可以通過treeView.SelectedNode訪問已刪除的節點,但是如何獲取插入節點的新索引? 我無法通過保存對節點或名稱或標記的引用來解決此問題,因爲當我重繪樹時,節點會全新創建 - 而且我認爲我無法獲得對新創建節點的引用 Best問候,Expecto我可以在樹視圖中獲取插入節點的索引嗎?
0
A
回答
0
的答案是不是真的是我一直在尋找,但之後我發現,插入後的「AfterSelect」事件觸發,我就是這麼做的:
private void treeViewProduct_AfterSelect(object sender, TreeViewEventArgs e)
{
if (insertMode)
{
treeViewProduct.NotifyAboutInsert(e.Node.Index);
}
...
}
我的樹視圖,然後處理變之後的節點索引並完美重繪樹。
0
我的方式:用自己聲明的類:
class TreeNodeEx : TreeNode
{
public void Remove()
{
base.Remove();
// what you want to do
UpdateNode(this.Parent);
}
}
0
你可以一個ObservableCollection綁定到樹節點然後:
var obd = Observable.FromEvent<NotifyCollectionChangedEventArgs>(
ev => obdCollection.CollectionChanged += CheckChanges,ev=> obdCollection.CollectionChanged -= CheckChanges);
private void CheckChanges(object sender, NotifyCollectionChangedEventArgs e)
{
Console.WriteLine("new Starting index : "+e.NewStartingIndex);
Console.WriteLine("Old Starting index : " + e.OldStartingIndex);
Console.WriteLine("new Items : " + e.NewItems);
Console.WriteLine("Old Items : " + e.OldItems);
}
這樣,你可以檢查什麼在改變採集。
相關問題
- 1. 獲取節點的索引在Primefaces樹
- 2. 我可以在MongoDB中索引樹嗎?
- 3. 以插入的順序獲取選定的JTree節點索引
- 4. 在樹形視圖中獲取可用路徑的索引
- 5. 我可以在Orchard CMS中將視圖插入視圖嗎?
- 6. 樹視圖中的不可選節點
- 7. 我們如何獲得extjs樹中的select節點的索引?
- 8. 在JFace樹視圖中獲取選擇的根節點
- 9. 將節點插入二叉搜索樹
- 10. c#我可以添加列表<ChannelTreeItem>樹視圖節點?
- 11. 在樹狀視圖中獲取擴展節點
- 12. 如何在樹狀視圖中獲取當前所選節點
- 13. 如何在ASP樹視圖中獲取頂層節點
- 14. 我們可以重命名extjs樹中的「Children」節點嗎
- 15. 我可以通過索引引用子視圖嗎?
- 16. 插入索引視圖
- 17. 我可以在superView中的某個特定點獲取子視圖嗎?
- 18. 獲取選定節點的父樹型視圖在WPF
- 19. 如何獲取特定樹節點的根索引?
- 20. 將節點插入python中的樹中
- 21. 我的「創建」視圖在我的「索引」視圖中,有可能嗎?
- 22. 樹,插入節點在特定點
- 23. 插入節點中的插入符號索引javascript
- 24. 插入節點二叉樹
- 25. 如何從NSMutableArray中的特定索引插入節頭到可用視圖中?
- 26. XML樹視圖:Iam使用XMLTree.js作爲插件在jQuery的樹視圖中顯示我的xml,我可以編輯我的葉節點
- 27. 我可以更改Kibana中可視化的索引模式嗎?
- 28. 獲取視圖/視圖組的索引
- 29. 我不能插入一個節點到bin搜索樹
- 30. 我可以在Drupal中使用縮略圖的節點引用嗎?