IExternalCommandAvailability Interface

IExternalCommandAvailability Interface

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: 25.0.0.0 (25.0.0.0)
Syntax
public interface IExternalCommandAvailability
Public Interface IExternalCommandAvailability
public interface class IExternalCommandAvailability
type IExternalCommandAvailability = interface end

The IExternalCommandAvailability type exposes the following members.

Methods
 NameDescription
Public methodIsCommandAvailable Implement this method to provide control over whether your external command is enabled or disabled.
Top
Remarks
This interface should share the same assembly with add-in External Command.
Example
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;
    }
}
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

No code example is currently available or this language may not be supported.

No code example is currently available or this language may not be supported.

See Also