Skip to main content

DevExpress v24.1 Update — Your Feedback Matters

Our What's New in v24.1 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

LayoutControlItem Class

A layout item.

Namespace: DevExpress.XtraLayout

Assembly: DevExpress.XtraLayout.v24.1.dll

NuGet Package: DevExpress.Win.Navigation

#Declaration

public class LayoutControlItem :
    LayoutItem,
    IContextItemCollectionOptionsOwner,
    IContextItemCollectionOwner,
    ISupportAppearanceObjectPropertiesFilter

#Remarks

The layout items embed UI controls and can display text labels. The image below illustrates the anatomy of a layout control.

LayoutControlItem_structure

The layout item’s Control property specifies the embedded control. The Text property specifies the label. The TextVisible option toggles the label’s visibility.

Important

The Layout Control holds layout items within groups. Its Root collection contains the root layout items and nesting groups.

#Create a Layout Item at Design-Time

Drag a control from the Toolbox and drop it onto the Layout Control (see the animation below). The Layout Control automatically creates a layout item with an embedded control.

Create a Layout Item at Design-Time

Watch Video

#Create a Layout Item in Code

The following example demonstrates how to create a new instance of the LayoutControlItem class, specify its primary settings, embed a text editor, and add it to the Layout Control’s root group.

When you create the layout items and embedded controls in code, you should set their Name properties to unique values to avoid layout customization and serialization issues. The embedded control’s Name property must be specified before you assign the control to the LayoutControlItem.Control property.

using DevExpress.XtraEditors;
using DevExpress.XtraLayout;

LayoutControlItem firstNameItem = new LayoutControlItem();
// Sets the layout item's name. The name should be unique.
firstNameItem.Name = "layourItemSecondaryName";
firstNameItem.Text = "First Name";
TextEdit fieldFirstName = new TextEdit() { Name = "textEditFirstName" };
firstNameItem.Control = fieldFirstName;
layoutControl1.AddItem(firstNameItem);

Note

Once you specify the LayoutControlItem.Control property, the Layout Control adds the control to the LayoutControl.Controls collection. You can only set the LayoutControlItem.Control property once. When a layout item is disposed of at runtime, its embedded control is not destroyed.

You can also use the LayoutControlGroup.AddItem method to create a root layout item in code. The LayoutControlGroup.AddItem method creates a layout item within the specified layout group.

using DevExpress.XtraEditors;
using DevExpress.XtraLayout;

// Creates a root layout item with the Text Editor.
layoutControl1.AddItem("Second Name", new TextEdit());

// Creates an Empty Space layout item.
layoutControl1.AddItem(new EmptySpaceItem());

Watch Video

#Task-Based Help

See Also