https://developers.arcgis.com/labs/pro/build-a-map-layout/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ArcGIS.Core.CIM; using ArcGIS.Core.Data; using ArcGIS.Core.Geometry; using ArcGIS.Desktop.Catalog; using ArcGIS.Desktop.Core; using ArcGIS.Desktop.Editing; using ArcGIS.Desktop.Extensions; using ArcGIS.Desktop.Framework; using ArcGIS.Desktop.Framework.Contracts; using ArcGIS.Desktop.Framework.Dialogs; using ArcGIS.Desktop.Framework.Threading.Tasks; using ArcGIS.Desktop.Mapping; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using ArcGIS.Desktop.Core.Events; using ArcGIS.Core.Events; using ArcGIS.Desktop.Mapping.Events; using ArcGIS.Desktop.Layouts; namespace ylsetpro { internal class btnAddData : Button { private async Task<Layout> createLayout() { // Create a layout which will be returned from the QueuedTask Layout newLayout = await QueuedTask.Run<Layout>(()=> { // Create a new CIM page CIMPage newPage = new CIMPage(); // Add properties newPage.Width = 17; newPage.Height = 11; newPage.Units = LinearUnit.Inches; // Add rulers newPage.ShowRulers = true; newPage.SmallestRulerDivision = 0.5; // Apply the CIM page to a new layout and set name newLayout = LayoutFactory.Instance.CreateLayout(newPage); newLayout.SetName("Census Data"); return newLayout; }); return newLayout; } protected override void OnClick() { createLayout(); } } }