Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

CanSelectItemEventArgs.Item Property

Gets the processed item.

Namespace: DevExpress.Xpf.Accordion

Assembly: DevExpress.Xpf.Accordion.v24.2.dll

NuGet Package: DevExpress.Wpf.Accordion

#Declaration

public object Item { get; }

#Property Value

Type Description
Object

A processed item.

#Remarks

Use the Item property to get the processed item. To prevent this item from being selected, set the CanSelect property to false.

#In Bound Mode

In bound mode, the Item property returns a bound data object.

The code sample below demonstrates how to prevent an item with the “Application Settings” caption from being selected.

<Window ...
        xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
        xmlns:dxa="http://schemas.devexpress.com/winfx/2008/xaml/accordion">
    <Grid>
        <dxa:AccordionControl
            ItemsSource="{Binding AppMenu.MenuItems}"
            DisplayMemberPath="Caption"
            ChildrenPath="SubItems"
            CanSelectItem="AccordionControl_CanSelectItem" />
    </Grid>
</Window>
private void AccordionControl_CanSelectItem(object sender, DevExpress.Xpf.Accordion.CanSelectItemEventArgs e) {
    MenuItem item = e.Item as MenuItem;
    if (item.Caption == "Application Settings") {
        e.CanSelect = false;
    }
}

#In Unbound Mode

In unbound mode, the Item property returns an AccordionItem.

The code sample below demonstrates how to prevent an item with the “Application Settings” caption from being selected.

<Window ...
        xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
        xmlns:dxa="http://schemas.devexpress.com/winfx/2008/xaml/accordion">
    <Grid>
        <dxa:AccordionControl
            CanSelectItem="AccordionControl_CanSelectItem" >
            <dxa:AccordionItem Header="Start Page"/>
            <dxa:AccordionItem Header="Preferences">
                <dxa:AccordionItem Header="Account Info"/>
                <dxa:AccordionItem Header="Application Settings"/>
            </dxa:AccordionItem>
            <dxa:AccordionItem Header="About"/>
        </dxa:AccordionControl>
    </Grid>
</Window>
using DevExpress.Xpf.Accordion;
...

private void AccordionControl_CanSelectItem(object sender, CanSelectItemEventArgs e) {
    AccordionItem item = e.Item as AccordionItem;
    if (item.Header.ToString() == "Application Settings") {
        e.CanSelect = false;
    }
}
...
See Also