blazor-devexpress-dot-blazor-dot-accordionitemstatechangeeventargs.md
Returns the reason why the Accordion item’s expanded state changed.
Namespace : DevExpress.Blazor
Assembly : DevExpress.Blazor.v25.2.dll
NuGet Package : DevExpress.Blazor
public NavigationItemStateChangeReason Reason { get; }
| Type | Description |
|---|---|
| NavigationItemStateChangeReason |
A NavigationItemStateChangeReason enumeration value.
|
Available values:
| Name | Description |
|---|---|
| ApiCall |
The state changes programmatically.
| | UserAction |
The state changes by user action.
| | UrlMatch |
The state changes as a result of URL matching.
|
In the following example, the Accordion component selects the collapsed item if a user collapses an item whose child item was selected:
<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