> For the complete documentation index, see [llms.txt](https://xojo.gitbook.io/add-ons/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xojo.gitbook.io/add-ons/stackview/version-3/details/stackcontroller.md).

# StackController

{% hint style="info" %}
Class (inherits from [DesktopContainer](https://documentation.xojo.com/api/user_interface/desktop/desktopcontainer.html))
{% endhint %}

## Methods

| [AddView](#addview-view-as-viewcontroller-index-as-integer-1) | [Init](#init-useanimation-as-boolean) |
| ------------------------------------------------------------- | ------------------------------------- |
| [RemoveView](#removeview-index-as-integer-1)                  |                                       |

### AddView(view As [ViewController](/add-ons/stackview/version-3/details/viewcontroller.md), index As [Integer](https://documentation.xojo.com/api/data_types/integer.html) = -1)

Adds a View (dynamically at the Runtime) to the StackView.

**Parameters**

| Name    | Description                                                 |
| ------- | ----------------------------------------------------------- |
| *view*  | Pointer to the View which should be added to the StackView. |
| *index* | Position to add the View into the StackView.                |

### Init(useAnimation As [Boolean](https://documentation.xojo.com/api/data_types/boolean.html))

Set Views animation.

**Parameters**

| Name           | Description                                                                                                                     |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| *useAnimation* | A [Boolean](https://documentation.xojo.com/api/data_types/boolean.html) specifiying the animation state of the StackController. |

### RemoveView(index As [Integer](https://documentation.xojo.com/api/data_types/integer.html) = -1)

Removes a View from the StackView.

**Parameters**

| Name    | Description                                            |
| ------- | ------------------------------------------------------ |
| *index* | Removes the View at position index from the StackView. |

## Properties

### AutoSetup As [Boolean](https://documentation.xojo.com/api/data_types/boolean.html) *(designtime-only)*

Automatically adds the [ViewControllers](/add-ons/stackview/version-3/details/viewcontroller.md) contained in the StackController (based on their z-Order in the Layout Editor). Otherwise, you must add the [ViewControllers](/add-ons/stackview/version-3/details/viewcontroller.md) manually via `Views.Add()` in the `Opening`-Event.

{% hint style="info" %}
If  `AutoSetup = True`, the views are arranged according to their *DesktopContainer.TabIndex* set in the Xojo IDE.
{% endhint %}

### Expanded As [Boolean](https://documentation.xojo.com/api/data_types/boolean.html)

Set or return the state of the StackView.

### UseAnimation As [Boolean](https://documentation.xojo.com/api/data_types/boolean.html)

Animate all Views while collapsing/expanding.

### Views() As [ViewController](/add-ons/stackview/version-3/details/viewcontroller.md)

Collection of ViewControllers.

**Sample Code**

MyStackController1 `Opening`-Event:

{% code title="Opening-Event" %}

```xojo
If Not Self.AutoSetup Then
  Views.Add(MyFontView1)
  Views.Add(MyAlignmentView1)
  Views.Add(MyMarginView1)
End If 
```

{% endcode %}
