---
title: Create a container
slug: cms-13/docs/create-a-container
docTags: 
createdAt: 2026-07-30T20:22:08.256Z
---

Use `ComponentContainer` to group and manage components within a view. Containers support personalization, column layouts, and toolbar display, giving editors a flexible workspace for their gadgets.

The following code shows the built-in `ComponentContainer` class, which extends `ContainerBase` to provide component management:

```csharp
using System;
using System.Collections.Generic;

namespace EPiServer.Shell.ViewComposition.Containers {
  /// <summary>
  /// An extension of the grid container providing component management
  /// </summary>
  [Component(IsAvailableForUserSelection = false)]
  public class ComponentContainer: ContainerBase {
    /// <summary>
    /// Initializes a new instance of the <see cref="ComponentContainer"/> class.
    /// </summary>
    public ComponentContainer(): this("epi/shell/widget/layout/ComponentContainer") {}

    /// <summary>
    /// Initializes a new instance of the <see cref="ComponentContainer"/> class.
    /// </summary>
    protected ComponentContainer(string widgetType): base(widgetType) {
      Settings.Add(new PersonalizableSetting("numberOfColumns", 1));
      Settings.Add(new Setting("showToolbar", true));
      Settings.Add(new Setting("containerUnlocked", false));
      Settings.Add(new Setting("closable", false));
      Settings.Add(new Setting("personalizableHeading", string.Empty, true));
    }

    /// <summary>
    /// Gets or sets the categories that should be suggested for users for this container.
    /// </summary>
    [Obsolete("Categories are now defined on the view level, and not per container.")]
    public virtual string ComponentCategory {
      get {
        return null;
      }
      set {}
    }
  }
}
```
