2024-09-22 11:05:41 +08:00
|
|
|
|
using Autodesk.Revit.DB;
|
|
|
|
|
|
using Autodesk.Revit.UI;
|
|
|
|
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
|
|
|
using CommunityToolkit.Mvvm.Input;
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-24 20:56:44 +08:00
|
|
|
|
namespace ShrlAlgoToolkit.RevitAddins.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;
|
|
|
|
|
|
|
2025-10-04 08:52:23 +08:00
|
|
|
|
[ObservableProperty]
|
|
|
|
|
|
public partial IList<View> Views { get; set; }
|
2024-09-22 11:05:41 +08:00
|
|
|
|
|
|
|
|
|
|
[RelayCommand]
|
|
|
|
|
|
private void NavigateView(object obj)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (obj is View view)
|
|
|
|
|
|
{
|
|
|
|
|
|
var uidoc = uiapp.ActiveUIDocument;
|
|
|
|
|
|
uidoc.ActiveView = view;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|