ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Framework Namespace / OperationManager Class / CanUndo Property
Example

In This Topic
    CanUndo Property (OperationManager)
    In This Topic
    Gets a boolean value after checking if the first operation can be undone.
    Syntax
    public bool CanUndo {get;}
    Public ReadOnly Property CanUndo As Boolean
    Remarks
    If the operation cannot be undone, all the operations belonging to its same category are cleared from the undo stack.
    Example
    Undo/Redo the Most Recent Operation
    //undo
    if (MapView.Active.Map.OperationManager.CanUndo)
      MapView.Active.Map.OperationManager.UndoAsync();//await as needed
    
    //redo
    if (MapView.Active.Map.OperationManager.CanRedo)
      MapView.Active.Map.OperationManager.RedoAsync();//await as needed
    
    Dockpane undo / redo
    // in order to find a dockpane you need to know it's DAML id
    var pane = FrameworkApplication.DockPaneManager.Find("esri_core_contentsDockPane");
    
    // get the undo stack
    OperationManager manager = pane.OperationManager;
    if (manager != null)
    {
      // undo an operation
      if (manager.CanUndo)
        await manager.UndoAsync();
    
      // redo an operation
      if (manager.CanRedo)
        await manager.RedoAsync();
    
      // clear the undo and redo stack of operations of a particular category
      manager.ClearUndoCategory("Some category");
      manager.ClearRedoCategory("Some category");
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also