ShowDialog Method (OpenItemDialog)
Displays the Browse dialog box to open or use selcted items.
Return Value
A boolean indicating if the Browse dialog was dismissed by pressing OK or Cancel.
Show_OpenItemDialog
OpenItemDialog addToProjectDialog = new OpenItemDialog();
addToProjectDialog.Title = "Add To Project";
addToProjectDialog.InitialLocation = @"C:\Data\NewYork\Counties\Maps";
addToProjectDialog.MultiSelect = true;
addToProjectDialog.Filter = ItemFilters.Composite_Maps_Import;
bool? ok = addToMapDialog.ShowDialog();
if (ok == true)
{
IEnumerable<Item> selectedItems = addToMapDialog.Items;
foreach (Item selectedItem in selectedItems)
MapFactory.Instance.CreateMapFromItem(selectedItem);
}
Geodatabase Content from Browse Dialog
var openDlg = new OpenItemDialog
{
Title = "Select a Feature Class",
InitialLocation = @"C:\Data",
MultiSelect = false,
BrowseFilter = BrowseProjectFilter.GetFilter(ArcGIS.Desktop.Catalog.ItemFilters.GeodatabaseItems_All)
};
//show the browse dialog
bool? ok = openDlg.ShowDialog();
if (!ok.HasValue || openDlg.Items.Count() == 0)
return; //nothing selected
await QueuedTask.Run(() =>
{
// get the item
var item = openDlg.Items.First();
// see if the item has a dataset
if (ItemFactory.Instance.CanGetDataset(item))
{
// get it
using (var ds = ItemFactory.Instance.GetDataset(item))
{
// access some properties
var name = ds.GetName();
var path = ds.GetPath();
// if it's a featureclass
if (ds is ArcGIS.Core.Data.FeatureClass fc)
{
// create a layer
var featureLayerParams = new FeatureLayerCreationParams(fc)
{
MapMemberIndex = 0
};
var layer = LayerFactory.Instance.CreateLayer<FeatureLayer>(featureLayerParams, MapView.Active.Map);
// continue
}
}
}
});
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.