WPF的Treeview控制項實現CheckBox

2021-08-13 21:55:04 字數 2129 閱讀 7156

wpf的treeview控制項的一般用法書上都有介紹,就沒必要多講。這裡主要說明treeview裡實現checkbox。

首先構造乙個node類

public

class node : inotifypropertychanged

}public

node()

////// 節點名稱

///public

string nodename

////// 被刪除

///private

bool? isselected = false;

public

bool? isselected

get

}///

/// 子節點集合

///public listnodes

}public

enum nodetype

接著來看一下後台資料,這裡需要讓treeview的節點自動展開,並實現父節點被選,子節點全被選,父節點不選,子節點全部不選的功能(這裡應該有更好的辦法,我這裡是用父節點的名稱來判斷的,對於指定的treeview資料還好說)。

public

partial

class mainwindow : window

public

mainwindow()

private listgetnodelist()

},new node()}};}

private

void

expandtree()}}

}private

void

window_loaded(object sender, routedeventargs e)

private

void

checkbox_checked(object sender, routedeventargs e)

}else

if ((sender as checkbox).content.tostring() == "根節點1")

}else

else

nodelist[0].isselected = null;

}if (nodelist[1].nodes.exists(x => x.nodename == (sender as checkbox).content.tostring()))

else

nodelist[1].isselected = null;}}

}private

void

checkbox_unchecked(object sender, routedeventargs e)

}else

if ((sender as checkbox).content.tostring() == "根節點1")

}else

else

nodelist[0].isselected = null;

}if (nodelist[1].nodes.exists(x => x.nodename == (sender as checkbox).content.tostring()))

else

nodelist[1].isselected = null;}}

}}

前台的xaml**:

name="treeview_nodelist">

datatype=""

itemssource="">

orientation="horizontal"

margin="0,2,0,2">

content=""

tooltip=""

ischecked=""

checked="checkbox_checked"

unchecked="checkbox_unchecked" >

checkbox>

stackpanel>

hierarchicaldatatemplate>

treeview.resources>

treeview>

grid>

或許這裡可以用style來做,暫時解決問題先就這樣,因為**也不長。

WPF之Treeview控制項簡單用法

treeview 表示顯示在樹結構中分層資料具有專案可展開和摺疊的控制項 treeview 的內容是可以包含豐富內容的 treeviewitem 控制項,如 button 和 image 控制項。treeviewitem 可以包含乙個或多 treeviewitem 物件作為後代。treeview 定...

TreeView控制項

treeview treenode treeview 類,表示在樹狀結構中顯示分層資料的控制項,該樹狀結構包含可展開和摺疊的項。nodes 獲取分配給樹檢視控制項的樹節點集合。getnodeat point 檢索位於指定點的樹節點。treenode類,表示 treeview 控制項中的節點。node...

TreeView控制項

在我們的開發中經常會遇到一些有樹形層次關係的資料,比如顯示無限級分類和顯示某 個檔案下的所有檔案及資料夾,對於這些帶有樹形層次關係的資料的顯示用treeview 控制項 是乙個比較不錯的選擇。treeview控制項支援資料繫結,也支援以程式設計的方式動態新增節點。在 treeview控制項中每個節點...