ArcGIS Pro 2.9 API Reference Guide
CreateLayoutPaneAsync Method
Example 

ArcGIS.Desktop.Core Namespace > LayoutFrameworkExtender Class : CreateLayoutPaneAsync Method
Does not need to be specified.
Layout
Create and activate a new layout pane using a Layout reference. Must be called on GUI thread.
Syntax
public static Task<ILayoutPane> CreateLayoutPaneAsync( 
   PaneCollection paneCollection,
   Layout layout
)
Public Shared Function CreateLayoutPaneAsync( _
   ByVal paneCollection As PaneCollection, _
   ByVal layout As Layout _
) As Task(Of ILayoutPane)

Parameters

paneCollection
Does not need to be specified.
layout
Layout

Return Value

Exceptions
ExceptionDescription
Must be called on GUI thread
Remarks
Be sure to call this on the GUI thread. Do not execute within a QueuedTask.Run block.
Example
//Open a layout project item in a new view.
//A layout project item may exist but it may not be open in a view. 

//Reference a layout project item by name
LayoutProjectItem someLytItem = Project.Current.GetItems<LayoutProjectItem>().FirstOrDefault(item => item.Name.Equals("MyLayout"));

//Get the layout associated with the layout project item
Layout layout = await QueuedTask.Run(() => someLytItem.GetLayout());  //Worker thread

//Create the new pane
ILayoutPane iNewLayoutPane = await ProApp.Panes.CreateLayoutPaneAsync(layout); //GUI thread
//This sample checks to see if a layout project item already has an open application pane.  
//If it does, it checks if it is the active layout view, if not, it creates, activates and opens a new pane.

//Reference a layoutitem in a project by name
LayoutProjectItem layoutItem = Project.Current.GetItems<LayoutProjectItem>().FirstOrDefault(item => item.Name.Equals("Layout View"));

//Get the layout associated with the layoutitem
Layout lyt = await QueuedTask.Run(() => layoutItem.GetLayout());
      
//Iterate through each pane in the application and check to see if the layout is already open and if so, activate it
foreach (var pane in ProApp.Panes)
{
  var layoutPane = pane as ILayoutPane;
  if (layoutPane == null)  //if not a layout pane, continue to the next pane
    continue;
  if (layoutPane.LayoutView.Layout == lyt)  //if the layout pane does match the layout, activate it.
  {
    (layoutPane as Pane).Activate();
    layoutPane.Caption = "This is a test";
    System.Windows.MessageBox.Show(layoutPane.Caption);
    return;
  }
}
//Otherwise, create, open, and activate the layout if not already open
ILayoutPane newPane = await ProApp.Panes.CreateLayoutPaneAsync(lyt);

//Zoom to the full extent of the layout
await QueuedTask.Run(() => newPane.LayoutView.ZoomTo100Percent());
Requirements

Target Platforms: Windows 11, Windows 10, Windows 8.1

See Also

Reference

LayoutFrameworkExtender Class
LayoutFrameworkExtender Members