// ApplicationOptions.EditingOptions.EnableEditingFromEditTab is true
// ApplicationOptions.EditingOptions.IsSingleWorkspaceEditSession is true
var project = Project.Current;
// check if already editing
if (project.IsEditingEnabled)
{
// save or discard any edits
if (project.HasEdits)
{
var res = MessageBox.Show("Save edits?", "Save Edits?", System.Windows.MessageBoxButton.YesNoCancel);
if (res == System.Windows.MessageBoxResult.Cancel)
return;
else if (res == System.Windows.MessageBoxResult.No)
await project.DiscardEditsAsync();
else
await project.SaveEditsAsync();
}
// close the edit session
await project.SetIsEditingEnabledAsync(false);
}
// find a layer
var mm = MapView.Active.Map.GetLayersAsFlattenedList().FirstOrDefault(l => l.Name == "Roads");
if (mm == null)
return;
// start the edit session on the workspace attached to the layer
var success = await project.SetSingleEditWorkspaceAsync(mm);
// if success = true then an edit session was started
// and project.IsEditingEnabled will be true