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();
}
}
}