private void cbViews_SelIdxChanged(object sender, EventArgs e) { System.Windows.Forms.ComboBox cb = sender as System.Windows.Forms.ComboBox; if (cb == null) { return; } DBViewItem dbItem = cb.SelectedItem as DBViewItem; if (dbItem == null) { return; } //if (_currentDBViewId == null) // return; //RView currentView = _dbDocument.get_Element(_currentDBViewId) as RView; //if(currentView == null) // return; //if (dbItem.UniqueId.ToLower().CompareTo(currentView.UniqueId.ToLower()) != 0) // return; PreviewControl vc = _elementHostWPF.Child as PreviewControl; if (vc != null) { vc.Dispose(); } _elementHostWPF.Child = new PreviewControl(_dbDocument, dbItem.Id); _currentDBViewId = dbItem.Id; }
private void updateViewsList(ElementId viewId) { // fill the combobox with printable views <name + id> FilteredElementCollector collecotr = new FilteredElementCollector(_dbDocument); collecotr.OfClass(typeof(Autodesk.Revit.DB.View)); IEnumerable <Autodesk.Revit.DB.View> secs = from Element f in collecotr where (f as Autodesk.Revit.DB.View).CanBePrinted == true select f as Autodesk.Revit.DB.View; _cbViews.Items.Clear(); DBViewItem activeItem = null; foreach (Autodesk.Revit.DB.View dbView in secs) { if (viewId == null || viewId.IntegerValue < 0) { activeItem = new DBViewItem(dbView, _dbDocument); viewId = dbView.Id; } if (dbView.Id == viewId) { activeItem = new DBViewItem(dbView, _dbDocument); _cbViews.Items.Add(activeItem); } else { _cbViews.Items.Add(new DBViewItem(dbView, _dbDocument)); } } _cbViews.SelectedItem = activeItem; }