public void LinePatternViewer() { LPMainWindow main_win = null; try { Document theDoc = this.ActiveUIDocument.Document; System.Collections.ObjectModel.ObservableCollection<LinePattern> data = new System.Collections.ObjectModel.ObservableCollection<LinePattern>(); //Collect all line pattern elements FilteredElementCollector collector = new FilteredElementCollector(theDoc); IList<Element> linepatternelements = collector.WherePasses(new ElementClassFilter(typeof(LinePatternElement))).ToElements(); foreach (LinePatternElement lpe in linepatternelements) { data.Add(lpe.GetLinePattern()); } //start main window main_win = new LinePatternMacro.LPMainWindow(data); System.Windows.Interop.WindowInteropHelper x = new System.Windows.Interop.WindowInteropHelper(main_win); x.Owner = Process.GetCurrentProcess().MainWindowHandle; main_win.ShowDialog(); } catch (Exception err) { Debug.WriteLine(new string('*', 100)); Debug.WriteLine(err.ToString()); Debug.WriteLine(new string('*', 100)); if (main_win != null && main_win.IsActive) main_win.Close(); } }
public void LinePatternViewer() { LPMainWindow main_win = null; try { Document theDoc = this.ActiveUIDocument.Document; System.Collections.ObjectModel.ObservableCollection <LinePattern> data = new System.Collections.ObjectModel.ObservableCollection <LinePattern>(); //Collect all line pattern elements FilteredElementCollector collector = new FilteredElementCollector(theDoc); IList <Element> linepatternelements = collector.WherePasses(new ElementClassFilter(typeof(LinePatternElement))).ToElements(); foreach (LinePatternElement lpe in linepatternelements) { data.Add(lpe.GetLinePattern()); } //start main window main_win = new LinePatternMacro.LPMainWindow(data); System.Windows.Interop.WindowInteropHelper x = new System.Windows.Interop.WindowInteropHelper(main_win); x.Owner = Process.GetCurrentProcess().MainWindowHandle; main_win.ShowDialog(); } catch (Exception err) { Debug.WriteLine(new string('*', 100)); Debug.WriteLine(err.ToString()); Debug.WriteLine(new string('*', 100)); if (main_win != null && main_win.IsActive) { main_win.Close(); } } }