From 7d3aa07f6f94c70ca0a631a45db6565a5a58d9cf Mon Sep 17 00:00:00 2001 From: qin <a@163.com> Date: 星期四, 29 八月 2024 13:33:15 +0800 Subject: [PATCH] 优化自动增加属性方法 --- HStation.RevitDev/RevitDataExport/Forms/Wpf_InstancePanel.xaml.cs | 58 ++++++++++++++++++---------------------------------------- 1 files changed, 18 insertions(+), 40 deletions(-) diff --git a/HStation.RevitDev/RevitDataExport/Forms/Wpf_InstancePanel.xaml.cs b/HStation.RevitDev/RevitDataExport/Forms/Wpf_InstancePanel.xaml.cs index b8e2a16..a64f190 100644 --- a/HStation.RevitDev/RevitDataExport/Forms/Wpf_InstancePanel.xaml.cs +++ b/HStation.RevitDev/RevitDataExport/Forms/Wpf_InstancePanel.xaml.cs @@ -6,7 +6,6 @@ using HStation.RevitDev.RevitDataExport.Service; using HStation.RevitDev.RevitDataExport.Utility; using System; -using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Controls; @@ -22,10 +21,10 @@ public Wpf_InstancePanel() { InitializeComponent(); - InitializeControls(); + InitializeControlsData(); } - private void InitializeControls() + private void InitializeControlsData() { var values = Enum.GetValues(typeof(RevitType)); this.tabControl.Items.Clear(); @@ -54,6 +53,7 @@ private DataGrid CreateDataGrid(RevitType revitType) { var dataGrid = new DataGrid(); + dataGrid.RowHeight = 20; dataGrid.IsReadOnly = true; dataGrid.LoadingRow += DataGrid_LoadingRow; dataGrid.SelectionUnit = DataGridSelectionUnit.Cell; @@ -73,48 +73,25 @@ try { DataGrid dataGrid = sender as DataGrid; - var selectItem = dataGrid.SelectedCells; - var selectCell = selectItem[0]; - var columnIndex = selectCell.Column.DisplayIndex; - if (columnIndex == 0) + var selectCells = dataGrid.SelectedCells; + if (selectCells.Count == 0) { return; } + + var selectCell = selectCells[0]; + if (selectCell.Column.Header.ToString() == "缂栧彿") { - ShowElement(selectCell); + string id = (selectCell.Item as ElementModel).缂栧彿; + UIDocumentUtils.ShowElement(id); } - else if (columnIndex == 2) + else if (selectCell.Column.Header.ToString() == "杩炴帴鏋勪欢") { - ShowLinkedElements(selectCell); + string ids = (selectCell.Item as ElementModel).杩炴帴鏋勪欢; + UIDocumentUtils.ShowLinkedElements(ids); } } catch (Exception ex) { TaskDialog.Show("閿欒", ex.Message); } - } - - private void ShowLinkedElements(DataGridCellInfo selectCell) - { - string ids = (selectCell.Item as ElementModel).LinkIds; - if (string.IsNullOrEmpty(ids)) - { - return; - } - var idArray = ids.Split(','); - var idList = idArray.Select(x => new ElementId(int.Parse(x)))?.ToList(); - GlobalResource.CurrentUIDocument.Selection.SetElementIds(idList); - GlobalResource.CurrentUIDocument.ShowElements(idList); - } - - private void ShowElement(DataGridCellInfo selectCell) - { - string id = (selectCell.Item as ElementModel).Id; - if (string.IsNullOrEmpty(id)) - { - return; - } - var elemId = new ElementId(int.Parse(id)); - GlobalResource.CurrentUIDocument.Selection.SetElementIds( - new List<ElementId> { elemId }); - GlobalResource.CurrentUIDocument.ShowElements(elemId); } private void DataGrid_PreviewMouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) @@ -124,7 +101,7 @@ DataGrid dataGrid = sender as DataGrid; var selectCells = dataGrid.SelectedCells; - string ids = (selectCells[0].Item as ElementModel).LinkIds; + string ids = (selectCells[0].Item as ElementModel).杩炴帴鏋勪欢; var idArray = ids.Split(','); var idList = idArray.Select(x => new ElementId(int.Parse(x)))?.ToList(); GlobalResource.CurrentUIDocument.Selection.SetElementIds(idList); @@ -139,13 +116,14 @@ private void CreateRows(DataGrid dataGrid, RevitType revitType) { var models = RevitMepElementService.GetElementModels(revitType); - dataGrid.ItemsSource = models; + WpfBindingUtils.Binding2(dataGrid, revitType, models); + //WpfBindingUtils.Binding(dataGrid, revitType, models); } public void SetupDockablePane(DockablePaneProviderData data) { data.FrameworkElement = this; - data.InitialState = new DockablePaneState + data.InitialState = new DockablePaneState { DockPosition = DockPosition.Bottom, MinimumHeight = 200 @@ -160,7 +138,7 @@ public void UpdateForm() { - InitializeControls(); + InitializeControlsData(); } } } -- Gitblit v1.9.3