using DevExpress.Utils; namespace HStation.WinFrmUI { public partial class HomeXhsProjectTreeListCtrl : DevExpress.XtraEditors.XtraUserControl { public HomeXhsProjectTreeListCtrl() { InitializeComponent(); this.treeList1.InitialDefaultSettings(); this.layoutControl1.SetupLayoutControl(); } /// /// 选择项目事件 /// public event Action SelectProjectEvent; private List _allBindingList = null;//当前绑定列表 /// /// 绑定数据 /// public void SetBindingData(List allProjectList) { _allBindingList = new List(); foreach (var item in allProjectList) { var vm = new HomeXhsProjectTreeViewModel(item); _allBindingList.Add(vm); } this.treeList1.DataSource = _allBindingList; this.treeList1.ForceInitialize(); this.treeList1.ExpandAll(); } /// /// 设置默认 /// public void SetFocused() { if (_allBindingList == null) { return; } var vm = _allBindingList.FirstOrDefault(); if (vm != null) { this.treeList1.FocusedNode = this.treeList1.FindNodeByKeyID(vm.ID); } } /// /// 设置聚焦 /// public void SetFocused(long ID) { if (_allBindingList == null) { return; } this.treeList1.FocusedNode = this.treeList1.FindNodeByKeyID(ID); } //全部展开 private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.ExpandAll(); } //全部折叠 private void barBtnCollpseAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.CollapseAll(); } //检索(menu) private void barBtnSearch_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (this.layoutControlItem1.Visibility == DevExpress.XtraLayout.Utils.LayoutVisibility.Always) this.layoutControlItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; else this.layoutControlItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; } //树线 private void barCkTreeLine_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.OptionsView.ShowTreeLines = this.barCkTreeLine.Checked ? DefaultBoolean.True : DefaultBoolean.False; } //鼠标点击 private void treeList1_RowCellClick(object sender, DevExpress.XtraTreeList.RowCellClickEventArgs e) { //if (e.Button == MouseButtons.Left) //{ // var vm = this.treeList1.GetDataRecordByNode(e.Node) as HomeXhsProjectTreeViewModel; // this.SelectProjectEvent?.Invoke(vm.Project); //} } //聚焦节点改变 private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { var vm = this.treeList1.GetDataRecordByNode(e.Node) as HomeXhsProjectTreeViewModel; this.SelectProjectEvent?.Invoke(vm.Project); } //导入项目 private void btnImportProject_Click(object sender, EventArgs e) { var dlg = new ImportXhsProjectDlg(); if (dlg.ShowDialog() == DialogResult.OK) { } } } }