wpf帶checkbox的treeview開發

2021-06-18 08:24:58 字數 1322 閱讀 4960

好久沒有寫博文了,其實也發現沒什麼可寫的,最近又搞起wpf來,其中用到了treeview,有點東西拿來分享一下。

treeview預設是不帶checkbox的,但讓他帶checkbox也很簡單,設定一下樣式即可,當然這不是難點,也不是重點,重點是checked屬性怎麼關聯資料的問題,筆者也是查閱網上諸多大神的示例,其中就使用了綁帶資料來源的方式,實現動態改變checked狀態,筆者也是在此基礎上進行修改,增加了tree的級選模式,即當選中乙個節點時,自動選中它的全部子節點及其父節點。效果如圖:

關於該大神的示例**大家可以從這裡去看看:

該源**預設已經實現了選中乙個節點,自動選中父節點,但不會選中該節點下面的子節點。使用model中的checked屬性遍歷設定是實現不了選中子節點的操作,那麼筆者就在checkbox上增加乙個click事件:

private void treenode_click(object sender, routedeventargs e)

}

private void eachcheckednode()

}

以下**加在model中。

/// /// 設定所有子項的選中狀態

///

///

public void setchildrenchecked(bool ischecked)

}/// /// 設定所屬父節點的選中狀態

///

///

public void setparentchecked(bool ischecked)

else

} }}

/// /// 獲取所有子項的選中狀態

///

/// true表示有選中的,false表示沒有選中的

public bool getchildrenchecked()

}return value;

}

將原來**中的checked屬性中的級選操作注釋,避免重複呼叫。

這樣,treeview就可以級選操作了。

kunoy

出處:

申明:作者寫博是為了總結經驗,和交流學習之用。

建立帶checkbox的對話方塊

unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls type tform1 class tform button1 tbutton pr...

WPF帶佔位符的TextBox

效果圖如下 使用的xaml 如下 window x class placeholdertextbox.mainwindow xmlns xmlns x xmlns local clr namespace placeholdertextbox title mainwindow width 525 he...

WPF的CheckBox用作核取方塊 功能開關

先放圖 由於特殊需求,核取方塊樣式單一,所以我們需要將其按鈕重構和美化達到我們的需求 圖中1為背景色 圖中2為邊框 圖中3為控制代碼控制項組成 path rectangle 圖4為textblock控制項 由此我們可以推算出該控制項大致需要border grid path rectangle tex...