好久沒有寫博文了,其實也發現沒什麼可寫的,最近又搞起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...