IsSnappable Property (FeatureLayer)
Configure Snapping - Layer Snappability
// is the layer snappable?
bool isSnappable = fLayer.IsSnappable;
// set snappability for a specific layer - needs to run on the MCT
await QueuedTask.Run(() =>
{
// use an extension method
fLayer.SetSnappable(true);
// or use the CIM directly
//var layerDef = fLayer.GetDefinition() as ArcGIS.Core.CIM.CIMGeoFeatureLayerBase;
//layerDef.Snappable = true;
//fLayer.SetDefinition(layerDef);
});
// turn all layers snappability off
layerList = MapView.Active.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>();
await QueuedTask.Run(() =>
{
foreach (var layer in layerList)
{
layer.SetSnappable(false);
}
});
Change layer visibility, editability, snappability
if (!layer.IsVisible)
layer.SetVisibility(true);
if (layer is FeatureLayer featureLayer)
{
if (!featureLayer.IsEditable)
featureLayer.SetEditable(true);
if (!featureLayer.IsSnappable)
featureLayer.SetSnappable(true);
}
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.