An interface that should be implemented to provide the implementation for a accessibility check for a Revit add-in External Command.
Namespace: Autodesk.Revit.UI
Assembly: RevitAPIUI (in RevitAPIUI.dll) Version: 26.1.0.0 (26.1.0.34)
Syntax
C#
public interface IExternalCommandAvailability
The IExternalCommandAvailability type exposes the following members.
Methods
Name | Description | |
---|---|---|
![]() | IsCommandAvailable | Implement this method to provide control over whether your external command is enabled or disabled. |
Remarks
This interface should share the same assembly with add-in External Command.Example
C#
public class SampleAccessibilityCheck : IExternalCommandAvailability { public bool IsCommandAvailable(Autodesk.Revit.UI.UIApplication applicationData, CategorySet selectedCategories) { // Allow button click if there is no active selection if (selectedCategories.IsEmpty) return true; // Allow button click if there is at least one wall selected foreach (Category c in selectedCategories) { if (c.BuiltInCategory == BuiltInCategory.OST_Walls) return true; } return false; } }
VB
Public Class SampleAccessibilityCheck Implements IExternalCommandAvailability Public Function IsCommandAvailable(applicationData As Autodesk.Revit.UI.UIApplication, selectedCategories As CategorySet) As Boolean Implements IExternalCommandAvailability.IsCommandAvailable ' Allow button click if there is no active selection If selectedCategories.IsEmpty Then Return True End If ' Allow button click if there is at least one wall selected For Each c As Category In selectedCategories If c.BuiltInCategory = BuiltInCategory.OST_Walls Then Return True End If Next Return False End Function End Class