整理代码
This commit is contained in:
35
ShrlAlgoToolkit.RevitAddins/Windows/NavigateViewViewModel.cs
Normal file
35
ShrlAlgoToolkit.RevitAddins/Windows/NavigateViewViewModel.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.UI;
|
||||
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
|
||||
|
||||
|
||||
namespace ShrlAlgo.RvKits.Windows
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user