WPF中動態建立TreeView。

2021-07-30 17:51:55 字數 1474 閱讀 9649

主要實現的功能如下:

1、動態新增節點的節點;

2、對節點的操作;

1. 如果 treeview 的 items 繫結了乙個源集合, 那麼對集合增減,  wpf 會自動處理, 更新顯示(如果集合實現了inotifycollectionchanged 介面的話).

例如 treeview 的 items 繫結了乙個 observablecollection的集合, 則 對這個集合使用 add/remove 等方法時, wpf 會自動更新 treeview 的顯示.

2. 如果 treeview 沒有繫結集合, 則 它的 items 可以新增任何元素. 所新增的元素自動以 treeviewitem 作為容器來承載, 根據相應的 datatemplate 或者預設的方式,顯示到 treeview 中.

eg. 下面是乙個沒有任何 item 的 treeview, 你可以在**中動態增減:

--------------

先增加一些節點:

mytv.items.add("i'm the rootnode"); // 可以是任何型別, 這裡是 string

dockpanel dp= new dockpanel();

textblock tb = new textblock();

tb.text = "i'm the child node";

tb.verticalalignment = verticalalignment.center;

image img = new image();

img.stretch= stretch.none;

img.source= new bitmapimage(new uri(@"c:\wpf.bmp", urikind.absolute));

dp.children.add(img);

dp.children.add(tb);

(mytv.itemcontainergenerator.containerfromindex(0) as treeviewitem).items.add(dp);

--------------------

然後修改這些節點:

textbox t = new textbox();

t.text = mytv.items[0] as string;

mytv.items[0] = t;

((((mytv.itemcontainergenerator.containerfromindex(0) as treeviewitem).items[0]) as dockpanel).children[1] as textblock).text = "an image sits on my left side";

private void treeview_selecteditemchanged(object sender, routedpropertychangedeventargse)

WPF中建立水晶動畫效果的treeview控制項

軟體開發中常常會用到treeview之類的導航選單,如何使我們的選單更具有視覺衝擊力和動感呢,wpf可以幫我們輕易實現,下面我將使用blend來建立乙個treeview動畫效果資源。首先我們在blend的控制項列表中建立乙個treeview,根據我們的需要建立多層treeviewitem,然後在來建...

WPF中建立水晶動畫效果的treeview控制項

軟體開發中常常會用到treeview之類的導航選單,如何使我們的選單更具有視覺衝擊力和動感呢,wpf可以幫我們輕易實現,下面我將使用blend來建立乙個treeview動畫效果資源。首先我們在blend的控制項列表中建立乙個treeview,根據我們的需要建立多層treeviewitem,然後在來建...

WPF中建立水晶動畫效果的treeview控制項

軟體開發中常常會用到treeview之類的導航選單,如何使我們的選單更具有視覺衝擊力和動感呢,wpf可以幫我們輕易實現,下面我將使用blend來建立乙個treeview動畫效果資源。首先我們在blend的控制項列表中建立乙個treeview,根據我們的需要建立多層treeviewitem,然後在來建...