void LoadInfo(bool valFromWindowLoaded) { LibParameters inSLibParameters = new LibParameters(_Doc); List <ElementId> vCatList = CategoriesList(); _RevitParameter = inSLibParameters.GetFilterByCategory(vCatList); _RevitParameter = _RevitParameter.GroupBy(p => p.Name).Select(x => x.First()).ToList(); if (valFromWindowLoaded) { RevitParameters = new ObservableCollection <RevitParameter>(_RevitParameter.OrderBy(x => x.Name)); } else { ListParameterRefresh(new ObservableCollection <RevitParameter>(_RevitParameter)); } }
void FilterParameter(string valFilter) { LibElement vLibElement = new LibElement(_Doc); LibParameters inSLibParameters = new LibParameters(_Doc); List <RevitParameter> vParamsList = inSLibParameters.GetFilterByCategory(CategoriesList()); RevitParameter vPickedElement = (RevitParameter)ListParameter.SelectedItem; List <RevitParameter> vCommonParameters = vParamsList.FindAll(p => p.Name.Equals(vPickedElement.Name)); IList <Element> vResult = new List <Element>(); foreach (RevitParameter vParam in vCommonParameters) { IList <Element> vList = vLibElement.GetBy(vParam, CategoriesList(), valFilter); if (null != vList) { vResult = vResult.Concat(vList).ToList(); } } ElementList = new ObservableCollection <Element>(vResult); ElementListView.ItemsSource = ElementList; }