Back to Devexpress

AccordionItemStateChangeEventArgs.Reason Property

blazor-devexpress-dot-blazor-dot-accordionitemstatechangeeventargs.md

latest2.3 KB
Original Source

AccordionItemStateChangeEventArgs.Reason Property

Returns the reason why the Accordion item’s expanded state changed.

Namespace : DevExpress.Blazor

Assembly : DevExpress.Blazor.v25.2.dll

NuGet Package : DevExpress.Blazor

Declaration

csharp
public NavigationItemStateChangeReason Reason { get; }

Property Value

TypeDescription
NavigationItemStateChangeReason

A NavigationItemStateChangeReason enumeration value.

|

Available values:

NameDescription
ApiCall

The state changes programmatically.

| | UserAction |

The state changes by user action.

| | UrlMatch |

The state changes as a result of URL matching.

|

Remarks

In the following example, the Accordion component selects the collapsed item if a user collapses an item whose child item was selected:

razor
<DxAccordion @ref="@MyAccordion" 
             SelectionMode="NavigationSelectionMode.Single"
             AfterCollapse="@AfterCollapse" 
             ExpandCollapseAction="AccordionExpandCollapseAction.ExpandButtonClick">
    <Items>
        <DxAccordionItem Text="Shapes">
            <Items>
                <DxAccordionItem Text="Circle" />
                <DxAccordionItem Text="Square" />
            </Items>
        </DxAccordionItem>
        <DxAccordionItem Text="Templates" />
    </Items>
</DxAccordion>

@code {
    DxAccordion MyAccordion;
        void AfterCollapse(AccordionItemStateChangeEventArgs e) {
            if (e.Reason == NavigationItemStateChangeReason.UserAction && MyAccordion.GetSelectedItemInfo()?.Parent == e.ItemInfo) {
                MyAccordion.SelectItem(x => x == e.ItemInfo);
        }
    }
}

See Also

AccordionItemStateChangeEventArgs Class

AccordionItemStateChangeEventArgs Members

DevExpress.Blazor Namespace