ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Desktop.Core Namespace / ApplicationOptions Class
Members Example Version

ApplicationOptions Class
Available Pro application backstage options.
Object Model
ApplicationOptions ClassDisplayOptions ClassDownloadOptions ClassEditingOptions ClassGeneralOptions ClassGeoprocessingOptions ClassLayoutOptions ClassNavigationOptions ClassTextAndGraphicsElementsOptions ClassVersioningOptions Class
Syntax
public static class ApplicationOptions 
Example
Get LayoutOptions
var lastToolActive = ApplicationOptions.LayoutOptions.KeepLastToolActive;
var warnOnSurrounds = ApplicationOptions.LayoutOptions.WarnAboutAssociatedSurrounds;
//eg <Install_Path>\Resources\LayoutTemplates\en-US
var gallery_path = ApplicationOptions.LayoutOptions.LayoutTemplatePath;
Set LayoutOptions
//keep graphic element insert tool active
ApplicationOptions.LayoutOptions.KeepLastToolActive = true;
//no warning when deleting a map frame results in other elements being deleted
ApplicationOptions.LayoutOptions.WarnAboutAssociatedSurrounds = false;
//path to .pagx files used as templates
ApplicationOptions.LayoutOptions.LayoutTemplatePath = @"D:\data\layout_templates";
Get All Available Fonts
//Note: see also SymbolFactory.Instance.GetAvailableFonts() which returns the
//same list. Use for TextAndGraphicsElementsOptions.GetAvailableFonts() convenience

QueuedTask.Run(() =>
{
  //A list of tuples of Font name + associated Font Styles, one tuple per
  //font, is returned
  var fonts = ApplicationOptions.TextAndGraphicsElementsOptions.GetAvailableFonts();
  StringBuilder sb = new StringBuilder();
  sb.AppendLine("Pro Fonts\r\n============================");
  foreach (var font in fonts)
  {
    var styles = string.Join(",", font.fontStyles);
    sb.AppendLine($"{font.fontName}, [{styles}]");
  }
  System.Diagnostics.Debug.WriteLine(sb.ToString());
});
Get TextAndGraphicsElementsOptions
QueuedTask.Run(() =>
{
  //Get the default font (see also 'SymbolFactory.Instance.DefaultFont')
  var def_font = ApplicationOptions.TextAndGraphicsElementsOptions.GetDefaultFont();
  System.Diagnostics.Debug.WriteLine(
    $"\r\ndefault font: {def_font.fontName}, {def_font.styleName}");

  //Get the default graphics element symbols - point, line, poly, text
  var ptSymbol = ApplicationOptions.TextAndGraphicsElementsOptions.GetDefaultPointSymbol();
  var lineSymbol = ApplicationOptions.TextAndGraphicsElementsOptions.GetDefaultLineSymbol();
  var polySymbol = ApplicationOptions.TextAndGraphicsElementsOptions.GetDefaultPolygonSymbol();
  var textSymbol = ApplicationOptions.TextAndGraphicsElementsOptions.GetDefaultTextSymbol();
});
Set TextAndGraphicsElementsOptions
QueuedTask.Run(() =>
{
  //Set a default font. Use its default style
  ApplicationOptions.TextAndGraphicsElementsOptions.SetDefaultFont("tahoma");
  //or specify an explicit style
  ApplicationOptions.TextAndGraphicsElementsOptions.SetDefaultFont("tahoma", "bold");

  //Create symbols
  var ptSymbol2 = SymbolFactory.Instance.ConstructPointSymbol(
    ColorFactory.Instance.RedRGB, 14, SimpleMarkerStyle.Diamond);
  var lineSymbol2 = SymbolFactory.Instance.ConstructLineSymbol(
    ColorFactory.Instance.RedRGB, 2, SimpleLineStyle.Dash);
  var polySymbol2 = SymbolFactory.Instance.ConstructPolygonSymbol(
    ColorFactory.Instance.RedRGB, SimpleFillStyle.DiagonalCross);
  var textSymbol2 = SymbolFactory.Instance.ConstructTextSymbol(
    ColorFactory.Instance.RedRGB, 12);

  //Set default point, line, poly, text graphics element symbols
  ApplicationOptions.TextAndGraphicsElementsOptions.SetDefaultPointSymbol(ptSymbol2);
  ApplicationOptions.TextAndGraphicsElementsOptions.SetDefaultLineSymbol(lineSymbol2);
  ApplicationOptions.TextAndGraphicsElementsOptions.SetDefaultPolygonSymbol(polySymbol2);
  ApplicationOptions.TextAndGraphicsElementsOptions.SetDefaultTextSymbol(textSymbol2);
});
Inheritance Hierarchy

System.Object
   ArcGIS.Desktop.Core.ApplicationOptions

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also