I'm writing a tool that allows my users to click on a point in the map and then drag it and drop it on a new location. This works perfectly in the WPF API, but in the Xamarin API there are times where the sketch editor does not appear to know that a geometry edit has occurred. I've tried to force a complete on the sketch editor as well and in the same fashion CompleteCommand.CanExecute is false at times right after I complete the drag and drop. If I don't drag and I simply select the point then tap on the new location it seems to work fine.
Here is a snippet of my code:
SketchEditConfiguration sec = new SketchEditConfiguration();
sec.AllowMove = true;
sec.AllowRotate = false;
sec.AllowVertexEditing = false;
sec.RequireSelectionBeforeDrag = false;
SketchCreationMode sketchCreationMode = SketchCreationMode.Point;
Geometry editGeom = null;
ApplicationManager.MainMapView.SketchEditor.GeometryChanged += async (s, e) =>
{
moveFeature.Geometry = e.NewGeometry;
await moveFeature.FeatureTable.UpdateFeatureAsync(moveFeature);
};
editGeom = moveFeature.Geometry;
sketchCreationMode = (SketchCreationMode)Enum.Parse(typeof(SketchCreationMode), moveFeature.Geometry.GeometryType.ToString());
await ApplicationManager.MainMapView.SketchEditor.StartAsync(editGeom, sketchCreationMode, sec);