FYI: You will need to add a reference to ArcGIS.Desktop.Layouts.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Layouts; <-- add the ArcGIS.Desktop.Layouts.dll to your references
namespace ProAppModule4 {
internal class Button1 : Button {
protected async override void OnClick() {
var layouts = Project.Current.GetItems<LayoutProjectItem>();
StringBuilder sb = new StringBuilder();
sb.AppendLine("Layouts:");
await QueuedTask.Run(() => {
foreach (var layoutItem in layouts) {
var layout = layoutItem.GetLayout();
sb.AppendLine(string.Format("\t{0}", layout.Name));
//etc
}
});
MessageBox.Show(sb.ToString());
}
}
}