Public Function AddItem( _ ByVal item As IProjectItem _ ) As Boolean
public bool AddItem( IProjectItem item )
Parameters
- item
- The Item to be added to the project
Return Value
Returns a bool indicating whether or not the item was added successfully.
Public Function AddItem( _ ByVal item As IProjectItem _ ) As Boolean
public bool AddItem( IProjectItem item )
| Exception | Description |
|---|---|
| ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
{
// Add a folder connection to a project
Item folderToAdd = ItemFactory.Instance.Create(@"C:\Data\Oregon\Counties\Streets");
// Note: Needs QueuedTask to run
bool wasAdded = Project.Current.AddItem(folderToAdd as IProjectItem);
// use wasAdded;
}
{
// Add a file geodatabase or a SQLite or enterprise database connection to a project
Item gdbToAdd = folderToAdd.GetItems().FirstOrDefault(folderItem => folderItem.Name.Equals("CountyData.gdb"));
// Note: Needs QueuedTask to run
var addedGeodatabase = Project.Current.AddItem(gdbToAdd as IProjectItem);
// use addedGeodatabase;
}
{
// Import a mxd
Item mxdToImport = ItemFactory.Instance.Create(@"C:\Projects\RegionalSurvey\LatestResults.mxd");
// Note: Needs QueuedTask to run
var addedMxd = Project.Current.AddItem(mxdToImport as IProjectItem);
// Add map package
Item mapPackageToAdd = ItemFactory.Instance.Create(@"c:\Data\Map.mpkx");
// Note: Needs QueuedTask to run
var addedMapPackage = Project.Current.AddItem(mapPackageToAdd as IProjectItem);
// Add an exported Pro map
Item proMapToAdd = ItemFactory.Instance.Create(@"C:\ExportedMaps\Election\Districts.mapx");
// Note: Needs QueuedTask to run
var addedMapProjectItem = Project.Current.AddItem(proMapToAdd as IProjectItem);
}
{
//Create a new GDB item and add it to the project
if (ItemFactory.Instance.Create(newGDDItemPath) is not IProjectItem newGDBItem)
{
// could not create the item
return;
}
var success = Project.Current.AddItem(newGDBItem);
//make the newly added GDB item the default
if (success)
Project.Current.SetDefaultGeoDatabasePath(newGDDItemPath);
//Now remove the old item
if (Project.Current.GetItems<Item>().FirstOrDefault(i => i.Path == oldGDBItemPath) is not IProjectItem oldGDBItem)
{
// could not find the item
return;
}
var removeSuccess = Project.Current.RemoveItem(oldGDBItem);
}
{
//Adding a folder connection
//Create the folder connection project item
var item = ItemFactory.Instance.Create(folderPath) as IProjectItem;
// Note: Needs QueuedTask to run
var folder = Project.Current.AddItem(item) ? item as FolderConnectionProjectItem : null;
}
{
//Adding a Geodatabase:
//Create the File GDB project item
// Note: Needs QueuedTask to run
var item = ItemFactory.Instance.Create(gdbPath) as IProjectItem;
var newlyAddedGDB = Project.Current.AddItem(item) ? item as GDBProjectItem : null;
}
{
var templateFileName = "Layout.pagx";
// Get layout Template Path from the project's home folder and combine it with a file name
var projectPath = CoreModule.CurrentProject.HomeFolderPath;
var layoutTemplateFilePath = System.IO.Path.Combine(projectPath, templateFileName);
// Create a new layout project item with the layout file path
// Create an IProjectItem using a layout template pagx file
IProjectItem pagx = ItemFactory.Instance.Create(layoutTemplateFilePath) as IProjectItem;
// Add the IProjectItem to the current project
//Note: Needs QueuedTask to run
Project.Current.AddItem(pagx);
}
{
//Create a layout project item from importing a pagx file
//Note: Needs QueuedTask to run
IProjectItem pagx = ItemFactory.Instance.Create(
@"C:\Temp\Layout.pagx") as IProjectItem;
Project.Current.AddItem(pagx);
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)