using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Nice3point.Revit.Toolkit.External; using System.Windows; using System.Windows.Interop; using Szmedi.RvKits.Assists; namespace Szmedi.RvKits.DisplayTools { /// /// Revit执行命令 /// [Transaction(TransactionMode.Manual)] public class CategoryDisplayCmd : ExternalCommand { public override void Execute() { if (Document.ActiveView.ViewTemplateId != ElementId.InvalidElementId) { MessageBox.Show("当前视图已应用视图样板,无法修改可见性", "提示", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (WinIntPtr.IsVisible("类别显示")) { WinIntPtr.ShowAndActive("类别显示"); } else { CategoryDisplayWin visibilityWin = new(UiApplication); new WindowInteropHelper(visibilityWin).Owner = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle; visibilityWin.Show(); } } } }