using Autodesk.Revit.DB; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; namespace ShrlAlgoToolkit.RevitAddins.Common.Controls { public partial class NavigateViewViewModel : ObservableObject { public NavigateViewViewModel(UIApplication uiapp, params Type[] viewTypes) { var doc = uiapp.ActiveUIDocument.Document; Views = doc.OfClasses(viewTypes).Cast().Where(v => !v.IsTemplate).ToList(); this.uiapp = uiapp; } private readonly UIApplication uiapp; [ObservableProperty] public partial IList Views { get; set; } [RelayCommand] private void NavigateView(object obj) { if (obj is View view) { var uidoc = uiapp.ActiveUIDocument; uidoc.ActiveView = view; } } } }