Files
Shrlalgo.RvKits/ShrlAlgoToolkit.RevitAddins/Windows/NavigateViewViewModel.cs

35 lines
885 B
C#
Raw Normal View History

2024-09-22 11:05:41 +08:00
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
namespace ShrlAlgo.RvKits.Windows
2024-09-22 11:05:41 +08:00
{
public partial class NavigateViewViewModel : ObservableObject
{
public NavigateViewViewModel(UIApplication uiapp, params Type[] viewTypes)
{
var doc = uiapp.ActiveUIDocument.Document;
Views = doc.OfClasses(viewTypes).Cast<View>().Where(v => !v.IsTemplate).ToList();
this.uiapp = uiapp;
}
private readonly UIApplication uiapp;
[ObservableProperty] private IList<View> views;
[RelayCommand]
private void NavigateView(object obj)
{
if (obj is View view)
{
var uidoc = uiapp.ActiveUIDocument;
uidoc.ActiveView = view;
}
}
}
}