# Expanding and Collapsing | WPF Controls | DevExpress Documentation

You can expand and collapse accordion items that contain nested items. The following image shows an expandable accordion item:

![AccordionExpanding](/WPF/images/accordionexpanding132115.gif)

This topic contains the following sections:

- Expanding and Collapsing in Code
- Expanding and Collapsing at Runtime
- Expand-Collapse Button Position
- Expanding Modes
- Expanding and Collapsing Animation

## Expanding and Collapsing in Code

Use the following methods to expand or collapse accordion items in code:

| Method | Description |
| --- | --- |
| [AccordionControl.ExpandItem](/WPF/DevExpress.Xpf.Accordion.AccordionControl.ExpandItem%28System.Object%29) | Expands an [accordion item](/WPF/118548/controls-and-libraries/navigation-controls/accordion-control/accordion-items). |
| [AccordionControl.ExpandAll](/WPF/DevExpress.Xpf.Accordion.AccordionControl.ExpandAll) | Expands all [accordion items](/WPF/118548/controls-and-libraries/navigation-controls/accordion-control/accordion-items) that can be expanded. |
| [AccordionControl.CollapseItem](/WPF/DevExpress.Xpf.Accordion.AccordionControl.CollapseItem%28System.Object%29) | Collapses an [accordion item](/WPF/118548/controls-and-libraries/navigation-controls/accordion-control/accordion-items). |
| [AccordionControl.CollapseAll](/WPF/DevExpress.Xpf.Accordion.AccordionControl.CollapseAll) | Collapses all [accordion items](/WPF/118548/controls-and-libraries/navigation-controls/accordion-control/accordion-items) that can be collapsed. |

## Expanding and Collapsing at Runtime

To expand or collapse accordion item at runtime:

- Click the [accordion item](/WPF/118546/controls-and-libraries/navigation-controls/accordion-control/visual-elements/accordion-item) or
- Click the [expand-collapse button](/WPF/118453/controls-and-libraries/navigation-controls/accordion-control/visual-elements/accordion-item/expand-collapse-button).

![AccordionExpandingRuntime](/WPF/images/accordionexpandingruntime132116.png)

You can set the [AccordionControl.ExpandItemOnHeaderClick](/WPF/DevExpress.Xpf.Accordion.AccordionControl.ExpandItemOnHeaderClick) property to **false** to prohibit expanding when clicking an item.

## Expand-Collapse Button Position

Use the following properties to hide the [expand-collapse button](/WPF/118453/controls-and-libraries/navigation-controls/accordion-control/visual-elements/accordion-item/expand-collapse-button) or change its position:

| Property | Description |
| --- | --- |
| [AccordionItem.ExpandButtonPosition](/WPF/DevExpress.Xpf.Accordion.AccordionItem.ExpandButtonPosition) | Specifies the [expand-collapse button](/WPF/118453/controls-and-libraries/navigation-controls/accordion-control/visual-elements/accordion-item/expand-collapse-button)‘s position for the current **accordion item**. |
| [AccordionControl.RootItemExpandButtonPosition](/WPF/DevExpress.Xpf.Accordion.AccordionControl.RootItemExpandButtonPosition) | Specifies the [expand-collapse button](/WPF/118453/controls-and-libraries/navigation-controls/accordion-control/visual-elements/accordion-item/expand-collapse-button)‘s position for all **root items**. |
| [AccordionControl.SubItemExpandButtonPosition](/WPF/DevExpress.Xpf.Accordion.AccordionControl.SubItemExpandButtonPosition) | Specifies the [expand-collapse button](/WPF/118453/controls-and-libraries/navigation-controls/accordion-control/visual-elements/accordion-item/expand-collapse-button)‘s position for all **subitems**. |

The code sample below demonstrates how to show the expand-collapse button at root items’ left side:

- XAML

<section id="tabpanel_PW09Zot0MA_tabid-xaml" role="tabpanel" data-tab="tabid-xaml">
<pre><code class="lang-xaml">&lt;dxa:AccordionControl RootItemExpandButtonPosition=&quot;Left&quot;&gt; ... &lt;/dxa:AccordionControl&gt;
</code></pre></section>

The image below shows the result:

![AccordionExpandingButtonPosition](/WPF/images/accordionexpandingbuttonposition132135.png)

## Expanding Modes

The [AccordionControl](/WPF/DevExpress.Xpf.Accordion.AccordionControl) supports different expanding modes. Use the [AccordionControl.ExpandMode](/WPF/DevExpress.Xpf.Accordion.AccordionControl.ExpandMode) property to specify the mode:

| Mode | Description |
| --- | --- |
| [ExpandMode.Multiple](/WPF/DevExpress.Xpf.Accordion.ExpandMode) | End-users can expand multiple items. At least one item is always expanded. |
| [ExpandMode.MultipleOrNone](/WPF/DevExpress.Xpf.Accordion.ExpandMode) | End-users can expand multiple items. Collapsing all items is also possible. |
| [ExpandMode.Single](/WPF/DevExpress.Xpf.Accordion.ExpandMode) | One accordion item is always expanded. End-users cannot collapse the expanded item. |
| [ExpandMode.SingleOrNone](/WPF/DevExpress.Xpf.Accordion.ExpandMode) | End-users can expand one accordion item at a time. Collapsing all items is also possible. |

The following code sample demonstrates the [AccordionControl](/WPF/DevExpress.Xpf.Accordion.AccordionControl) in **Single** expanding mode:

- XAML

<section id="tabpanel_PW09Zot0MA-1_tabid-xaml" role="tabpanel" data-tab="tabid-xaml">
<pre><code class="lang-xaml">&lt;dxa:AccordionControl ExpandMode=&quot;Single&quot;&gt; ... &lt;/dxa:AccordionControl&gt;
</code></pre></section>

The image below shows the result:

![AccordionExpandingModes](/WPF/images/accordionexpandingmodes132136.gif)

## Expanding and Collapsing Animation

The [AccordionControl](/WPF/DevExpress.Xpf.Accordion.AccordionControl) applies an animation when expanding or collapsing accordion items, by default. You can disable the animation by:

- Setting the [AccordionControl.AllowAnimation](/WPF/DevExpress.Xpf.Accordion.AccordionControl.AllowAnimation) property to **false** to disable all accordion items’ animation.
- Setting the [AccordionItem.AllowAnimation](/WPF/DevExpress.Xpf.Accordion.AccordionItem.AllowAnimation) property to **false** to disable the current accordion item’s animation.