Back to Devexpress

AccordionSelectionChangedEventArgs.Reason Property

blazor-devexpress-dot-blazor-dot-accordionselectionchangedeventargs.md

latest2.3 KB
Original Source

AccordionSelectionChangedEventArgs.Reason Property

Returns the reason why the Accordion item’s selection 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

The following example expands to the Square item if it was selected from code:

razor
<DxButton Click=@OnClick>Expand</DxButton>

<DxAccordion @ref="@MyAccordion"
             SelectionMode="NavigationSelectionMode.Single"
             SelectionChanged="@OnSelectionChanged"
             RootItemExpandButtonDisplayMode="AccordionExpandButtonDisplayMode.None">
    <Items>
        <DxAccordionItem Text="Shapes">
            <Items>
                <DxAccordionItem Text="Circle" />
                <DxAccordionItem Text="Square" />
            </Items>
        </DxAccordionItem>
        <DxAccordionItem Text="Templates" />
    </Items>
</DxAccordion>

@code {
    DxAccordion MyAccordion;
    void OnClick() {
        MyAccordion.SelectItem(x => x.Text == "Square");
    }
    void OnSelectionChanged(AccordionSelectionChangedEventArgs args) {
        if (args.Reason == NavigationItemStateChangeReason.UserAction) {
            MyAccordion.ExpandToItem(x => x == args.SelectedItems.FirstOrDefault());
        }
    }
}

See Also

AccordionSelectionChangedEventArgs Class

AccordionSelectionChangedEventArgs Members

DevExpress.Blazor Namespace