ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Core.Events Namespace / ProjectWindowSelectedItemsChangedEventArgs Class
Members Example Version

ProjectWindowSelectedItemsChangedEventArgs Class
Object Model
ProjectWindowSelectedItemsChangedEventArgs ClassIProjectWindow Interface
Syntax
public class ProjectWindowSelectedItemsChangedEventArgs : System.EventArgs 
Remarks
Access the IProjectWindow to get the selection change for that window. There can be more than one project (view) pane open as well as the Project dockpane ("catalog"). Each will have its own selection.
Example
Geodatabase Content from Catalog selection
// subscribe to event
ProjectWindowSelectedItemsChangedEvent.Subscribe(async (ProjectWindowSelectedItemsChangedEventArgs args) =>
{
  if (args.IProjectWindow.SelectionCount > 0)
  {
    // get the first selected item
    var selectedItem = args.IProjectWindow.SelectedItems.First();

    await QueuedTask.Run(() =>
    {
      // datasetType
      var dataType = ItemFactory.Instance.GetDatasetType(selectedItem);

      // get the dataset Definition
      if (ItemFactory.Instance.CanGetDefinition(selectedItem))
      {
        using (var def = ItemFactory.Instance.GetDefinition(selectedItem))
        {
          if (def is ArcGIS.Core.Data.FeatureClassDefinition fcDef)
          {
            var oidField = fcDef.GetObjectIDField();
            var shapeField = fcDef.GetShapeField();
            var shapeType = fcDef.GetShapeType();
          }
          else if (def is ArcGIS.Core.Data.Parcels.ParcelFabricDefinition pfDef)
          {
            string ver = pfDef.GetSchemaVersion();
            bool enabled = pfDef.GetTopologyEnabled();
          }

          // etc
        }
      }

      // get the dataset
      if (ItemFactory.Instance.CanGetDataset(selectedItem))
      {
        using (var ds = ItemFactory.Instance.GetDataset(selectedItem))
        {
          if (ds is ArcGIS.Core.Data.FeatureDataset fds)
          {
            // open featureclasses within the feature dataset
            // var fcPoint = fds.OpenDataset<FeatureClass>("Point");
            // var fcPolyline = fds.OpenDataset<FeatureClass>("Polyline");
          }
          else if (ds is FeatureClass fc)
          {
            var name = fc.GetName() + "_copy";

            // create
            var featureLayerParams = new FeatureLayerCreationParams(fc)
            {
              Name = name,
              MapMemberIndex = 0
            };
            LayerFactory.Instance.CreateLayer<FeatureLayer>(featureLayerParams, MapView.Active.Map);
          }
          else if (ds is Table table)
          {
            var name = table.GetName() + "_copy";
            var tableParams = new StandaloneTableCreationParams(table)
            {
              Name = name
            };
            // create
            StandaloneTableFactory.Instance.CreateStandaloneTable(tableParams, MapView.Active.Map);
          }
        }
      }
    });
  }
});
Inheritance Hierarchy

System.Object
   System.EventArgs
      ArcGIS.Desktop.Core.Events.ProjectWindowSelectedItemsChangedEventArgs

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also