Skip to main content
All docs
V25.1
  • PropertyGridControl.CollectionButtonClick Event

    Occurs when a user clicks a collection button. This event allows you to override the button’s default action.

    Namespace: DevExpress.Xpf.PropertyGrid

    Assembly: DevExpress.Xpf.PropertyGrid.v25.1.dll

    NuGet Package: DevExpress.Wpf.PropertyGrid

    Declaration

    public event EventHandler<CollectionButtonClickEventArgs> CollectionButtonClick

    Event Data

    The CollectionButtonClick event's data class is CollectionButtonClickEventArgs. The following properties provide information specific to this event:

    Property Description
    ButtonKind Gets the collection button‘s type. Inherited from CollectionButtonBaseEventArgs.
    DefaultAction Gets the collection button‘s default action.
    Handled Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. Inherited from RoutedEventArgs.
    OriginalSource Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
    RoutedEvent Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
    Row Gets a property grid row. Inherited from PropertyGridRowBaseEventArgs.
    Source Gets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.
    Value Gets a row’s value. Inherited from PropertyGridRowBaseEventArgs.

    The event data class exposes the following methods:

    Method Description
    InvokeEventHandler(Delegate, Object) When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation. Inherited from RoutedEventArgs.
    OnSetSource(Object) When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes. Inherited from RoutedEventArgs.

    Remarks

    View Example: Specify Custom Collection Edit Actions

    You can use the CollectionButtonClick event to initialize a new item whose values depend on the other item’s values. To do this, pass the created item to the e.DefaultAction property as a parameter.

    The following code sample adds a new item with the specified ID property when a user clicks the Add Item button:

    <dxprg:PropertyGridControl SelectedObject="{Binding DemoProduct}" 
                               CollectionButtonClick="OnCollectionButtonClick"/>
    
    using DevExpress.Xpf.PropertyGrid;
    // ...
    
    void OnCollectionButtonClick(object sender, CollectionButtonClickEventArgs e) {
        if (e.ButtonKind == CollectionButtonKind.Add) {
            var collection = (SupplierList)e.Value;
            e.DefaultAction(new Supplier() { ID = collection.Count == 0 ? 0 : collection.Max(x => x.ID) + 1, Name = "", Phone = "" });
            e.Handled = true;
        }
    }
    

    Refer to the following help topic for more information: Collection Definitions.

    See Also